--- nfo/perl/libs/Tangram/Storage.pm 2002/12/16 05:14:43 1.4 +++ nfo/perl/libs/Tangram/Storage.pm 2002/12/19 16:37:54 1.7 @@ -253,9 +253,23 @@ { my $self = shift; - eval ("use Data::UUID;"); - my $ug = Data::UUID->new(); - my $guid = $ug->create_str(); + my $guid; + + # try to use Data::UUID first ... + eval("use Data::UUID;"); + if (!$@) { + my $ug = Data::UUID->new(); + $guid = $ug->create_str(); + + # ... if this fails, try to fallback to Data::UUID::PurePerl instead ... + } else { + eval("use Data::UUID::PurePerl;"); + if (!$@) { + $guid = Data::UUID::PurePerl::generate_id(); + } else { + croak "couldn't create globally unique identifier"; + } + } return $guid; } @@ -468,12 +482,8 @@ return $self->id($obj) if $self->id($obj); - # insert global unique identifier in object to persist across re-deploys - $obj->{guid} = $self->make_guid(); - - # debug - use Data::Dumper; - print Dumper($obj); + # insert global unique identifier in object to persist across re-deploys + $obj->{guid} = $self->make_guid(); $saving->insert($obj);