projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make the character handling better for spanish?
[spider.git]
/
perl
/
DXDb.pm
diff --git
a/perl/DXDb.pm
b/perl/DXDb.pm
index a7f31acca8ec1f4e07b59c187b910e252b77e812..6ee8f939de92e235ebd0144350c79c79550fbd47 100644
(file)
--- a/
perl/DXDb.pm
+++ b/
perl/DXDb.pm
@@
-48,6
+48,12
@@
$lastprocesstime = time;
$nextstream = 0;
%stream = ();
$nextstream = 0;
%stream = ();
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
# allocate a new stream for this request
sub newstream
{
# allocate a new stream for this request
sub newstream
{
@@
-76,9
+82,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
+354,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} ;
}