geoipdb builder: separate into functions

This commit is contained in:
Jan Engelhardt
2011-01-27 02:55:10 +01:00
parent f180c0e5c6
commit 80444b0d31

View File

@@ -35,7 +35,12 @@ foreach (qw(LE BE)) {
}
}
while (my $row = $csv->getline(*ARGV)) {
&collect();
&dump();
sub collect
{
while (my $row = $csv->getline(*ARGV)) {
if (!defined($country{$row->[4]})) {
$country{$row->[4]} = {
name => $row->[5],
@@ -53,11 +58,21 @@ while (my $row = $csv->getline(*ARGV)) {
if ($. % 4096 == 0) {
print STDERR "\r\e[2K$. entries";
}
}
print STDERR "\r\e[2K$. entries total\n";
}
print STDERR "\r\e[2K$. entries total\n";
sub dump
{
foreach my $iso_code (sort keys %country) {
&dump_one($iso_code);
}
}
foreach my $iso_code (sort keys %country) {
sub dump_one
{
my $iso_code = shift @_;
my($file, $fh_le, $fh_be);
printf "%5u IPv6 ranges for %s %s\n",