version 1.5, 2005/03/18 21:36:49
|
version 1.6, 2006/06/19 09:36:22
|
Line 34 use Getopt::Long;
|
Line 34 use Getopt::Long;
|
use GDBM_File; |
use GDBM_File; |
use Data::Dumper; |
use Data::Dumper; |
use Storable qw(thaw); |
use Storable qw(thaw); |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
# |
# |
# Options |
# Options |
Line 67 END
|
Line 69 END
|
# |
# |
# Loop through ARGV getting files. |
# Loop through ARGV getting files. |
while (my $fname = shift) { |
while (my $fname = shift) { |
my %db; |
my $dbref=&LONCAPA::locking_hash_tie($fname,&GDBM_READER()); |
if (! tie(%db,'GDBM_File',$fname,&GDBM_READER(),0640)) { |
|
|
if (!$dbref) { |
warn "Unable to tie to $fname"; |
warn "Unable to tie to $fname"; |
next; |
next; |
} |
} |
while (my ($key,$value) = each(%db)) { |
while (my ($key,$value) = each(%$dbref)) { |
if ($value =~ s/^__FROZEN__//) { |
if ($value =~ s/^__FROZEN__//) { |
$value = thaw(&unescape($value)); |
$value = thaw(&unescape($value)); |
} |
} |
Line 85 while (my $fname = shift) {
|
Line 88 while (my $fname = shift) {
|
} |
} |
print "$key = ".(ref($value)?Dumper($value):$value)."\n"; |
print "$key = ".(ref($value)?Dumper($value):$value)."\n"; |
} |
} |
untie %db; |
&LONCAPA::locking_hash_untie($dbref); |
} |
} |
exit; |
exit; |
|
|
###################################### |
|
sub unescape { |
|
my $str=shift; |
|
$str =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
|
return $str; |
|
} |
|