+my $pfile = shift or usage();
+open my $pin, '<', $pfile or die "$pfile: $!\n";
+
+my $rx = 0;
+while( my $row = $csv->getline($pin) ) {
+ my $destkey = $row->[1];
+ my $prefix = $row->[4];
+ my $countrycode = $row->[20];
+ #my $npa = $row->[21];
+ #my $npa2 = $row->[22];
+ my $pattern = $row->[24];
+
+ #$npa = '' if $npa eq 'NULL';
+ #$npa2 = '' if $npa2 eq 'NULL';
+
+ die "destkey $destkey: $prefix ne $pattern\n"
+ if $prefix ne $pattern;
+
+ if ( $countrycode eq 'NULL' ) {
+ warn "destkey $destkey: countrycode is null for prefix $prefix; skipping\n";
+ next;
+ }
+
+ my $rate_region = $rate_region{$destkey}
+ or do {
+ warn "destkey $destkey: not found for prefix $prefix; skipping\n";
+ next;
+ };
+
+ $prefix =~ s/^\Q$countrycode\E//;
+ $prefix =~ s/ //g;
+ $prefix =~ s/\.$//;
+
+ my $rate_prefix = new FS::rate_prefix {
+ 'regionnum' => $rate_region->regionnum,
+ 'countrycode' => $countrycode,
+ 'npa' => $prefix,
+ };
+ my $error = $rate_prefix->insert;
+ die "error inserting rate_prefix: $error for cc $countrycode prefix $prefix"
+ if $error;
+
+ $rx++;
+
+ #print '.' if $rx % 1000 == 0;
+}
+print "\n";