in reply to Re: Extracting files from .7z using Perl
in thread Extracting files from .7z using Perl
The first one: my $archive = glob qq($base.Gridfee0?.7z\\); I need to use a wildcard, there are 7 zipfiles named 'Gridfee01' up to 'Gridfee07' which i need to get through.Don't include a trailing "/" in $base or in the glob.
The second one: my @files = glob qq($base\\Gridfee0?.7z\\Gridfee?\\invoic_b2c_$year$month$day*.txt); Need to use several wildcards here (? twice and a *) and the glob qq() thing is the easiest way that has worked for me until now.The wildcard glob pattern should only be at the end of the "filespec". You cannot expect this to work with multiple wildcards in the "path". There are at least 3 versions of glob() that I have encountered. If you are using glob, keep what it does as simple as possible and use grep{} to further refine the search. You will need to code a loop here or use another method. Do not expect glob() to do implict looping. For the end target, I would use *.txt and use grep{} to filter out files which do not match /_(\d+)\.txt$/. Looping at multiple levels for $year$month$day*.txt makes no sense. Get all .txt files at one "go" and then filter as needed.
|
|---|