try to match lookup files by number only
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 8 Jul 2023 05:42:55 +0000 (07:42 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 8 Jul 2023 05:42:55 +0000 (07:42 +0200)
p.pl

diff --git a/p.pl b/p.pl
index a7aa7d6..3b03016 100755 (executable)
--- a/p.pl
+++ b/p.pl
@@ -41,13 +41,18 @@ my @glob_un = map {
 } @glob;
 sub glob_id {
        my $id = shift;
-       $id = lc( unac_string('utf-8', $id ) );
+       my $id_lc = lc( unac_string('utf-8', $id ) );
        my $pos = -1;
-       my @found = grep { $pos++; m/$id/ } @glob_un;
+       my @found = grep { $pos++; m/$id_lc/ } @glob_un;
        if ( @found ) {
-               warn "XXX pos=$pos found=",dump(@found);
-               return $map_un_back->{$found[0]};
-               #return $glob[$pos];
+               if ( $#found == 0 ) {
+                       warn "XXX patt=$id pos=$pos found=",dump(@found);
+                       return $map_un_back->{$found[0]};
+                       #return $glob[$pos];
+               } else {
+                       warn "ERROR: pattern $id found $#found results, ignoring";
+                       return;
+               }
        } else {
                warn "not found $id";
                return;
@@ -55,7 +60,7 @@ sub glob_id {
 }
 
 my $nr = scalar(glob('out.*'));
-open(my $skipped_input, '>',"out.$nr.'skip.input");
+open(my $skipped_input, '>',"skip.input");
 
 while(<$fh>) {
        chomp;
@@ -75,6 +80,10 @@ while(<$fh>) {
                $file2 ||= glob 'originals_2023-07-07/' . $v[0] . '*.csv';
                $file2 ||= glob 'originals_2023-07-07/' . unac_string('utf-8', $v[0] ) . '*.csv';
                $file2 ||= glob_id $v[0];
+               # try to find file with same numbers
+               my $id_nrs = $v[0];
+               $id_nrs =~ s/\D//g;
+               $file2 ||= glob_id $id_nrs;
 
                if ( ! defined $file2 ) {
                        warn "SKIP ERROR: $patt glob didn't find anything for v[0]=$v[0] [$_]";