From 361caf5a10ed6c994a2aa1a0553615c4678588fe Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sat, 8 Jul 2023 07:42:55 +0200 Subject: [PATCH] try to match lookup files by number only --- p.pl | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/p.pl b/p.pl index a7aa7d6..3b03016 100755 --- 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] [$_]"; -- 2.20.1