projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
put in fix for arcluster bug
[spider.git]
/
perl
/
DXDb.pm
diff --git
a/perl/DXDb.pm
b/perl/DXDb.pm
index a7f31acca8ec1f4e07b59c187b910e252b77e812..6ccb9105c3307426b5c430a60fa438c5bda0ec39 100644
(file)
--- a/
perl/DXDb.pm
+++ b/
perl/DXDb.pm
@@
-76,9
+76,10
@@
sub load
{
my $s = readfilestr($dbbase, "dbs", "pl");
if ($s) {
{
my $s = readfilestr($dbbase, "dbs", "pl");
if ($s) {
- my $a = { eval $s } ;
+ my $a;
+ eval "\$a = $s";
confess $@ if $@;
confess $@ if $@;
- %avail =
%{$a} if $a
+ %avail =
( %$a ) if ref $a;
}
}
}
}
@@
-347,6
+348,9
@@
sub AUTOLOAD
$name =~ s/.*:://o;
confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
$name =~ s/.*:://o;
confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
+ # this clever line of code creates a subroutine which takes over from autoload
+ # from OO Perl - Conway
+ *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
@_ ? $self->{$name} = shift : $self->{$name} ;
}
@_ ? $self->{$name} = shift : $self->{$name} ;
}