X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FUSDB.pm;h=3ee18825d04b89754a8d2c1a8559f3768fe58857;hb=1ddd21105b4fdf68756a8676a58105927254d386;hp=4cd4143bd3b7aca6794a188678ba8d43a3f2b2cb;hpb=d8b9a7f15f95937a044c832731c8665a9ce5f883;p=spider.git diff --git a/perl/USDB.pm b/perl/USDB.pm index 4cd4143b..3ee18825 100644 --- a/perl/USDB.pm +++ b/perl/USDB.pm @@ -103,9 +103,17 @@ sub load # now write away all the files for (@_) { my $fn = shift; - my $f = gzopen($fn, "r") or return "Cannot open $fn $!"; - my $l; - while ($f->gzreadline($l)) { + my $if = gzopen($fn, "r") or return "Cannot open $fn $!"; + my $ofn = "$fn.upk"; + my $of = new IO::File "+>$ofn" or return "Cannot open $ofn $!"; + my ($l, $buf); + while ($l = $if->gzread($buf)) { + $of->write($buf, $l); + } + $if->gzclose; + $of->seek(0, 0); + + while ($of->getline()) { chomp $l; my ($call, $city, $state) = split /\|/, $l; @@ -122,7 +130,8 @@ sub load } $dbn{$call} = $ctyn; } - $f->gzclose; + $of->close; + unlink $ofn; } untie %dbn;