version 1.2, 2005/03/19 00:39:54
|
version 1.3, 2006/06/27 14:37:40
|
Line 31
|
Line 31
|
################################################# |
################################################# |
use strict; |
use strict; |
use GDBM_File; |
use GDBM_File; |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
# |
# |
# Options |
# Options |
Line 43 if (! defined($fname) || ! defined($key)
|
Line 45 if (! defined($fname) || ! defined($key)
|
exit; |
exit; |
} |
} |
|
|
my %db; |
my $dbref =&LONCAPA::locking_hash_tie($fname,&GDBM_WRCREAT()); |
if (! tie(%db,'GDBM_File',$fname,&GDBM_WRITER,0640)) { |
if (! $dbref) { |
warn "Unable to tie to $fname"; |
warn "Unable to tie to $fname"; |
next; |
next; |
} |
} |
delete($db{$key}); |
delete($dbref->{$key}); |
delete($db{&escape($key)}); |
delete($dbref->{&escape($key)}); |
|
|
untie %db; |
&LONCAPA::locking_hash_untie($dbref); |
|
|
exit; |
exit; |
|
|
###################################### |
|
sub escape { |
|
my $str=shift; |
|
$str =~ s/(\W)/"%".unpack('H2',$1)/eg; |
|
return $str; |
|
} |
|
|
|
sub unescape { |
|
my $str=shift; |
|
$str =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
|
return $str; |
|
} |
|