You want a better way than other people writing more than a dozen modules you can choose from to do your work? What's better than that, other than someone actually writing your code for you? | [reply] |
The dates could be compared alphabetically. For example, '080801' is alphabetically less than '080812'. So, in the code below, the 'ge' and 'le' string comparison operators could be used to filter out the dates contained in the file name.
#!/usr/bin/perl
use strict;
use warnings;
my $path = "/some/path";
my $name = "name";
my $start = "$path/080801_$name";
my $end = "$path/080930_$name";
for my $file (grep {$_ ge $start && $_ le $end} glob "$path/??????_$na
+me") {
open my $fh, "<", $file or die "unable to open $file";
while (<$fh>) {
# process...
}
close $fh or die "unable to close $file";
}
Update: Changed glob "$path/????_$name to glob "$path/??????_$name to correctly let the wildcard operator, '?', match the 6 chars in the date portion of the file name. | [reply] [d/l] [select] |