I wonder if it actually matters the these numbers are dates at all. If the filenames contain the date in the same format that you are using as arguments, then you could do something along the lines of this:
#!/usr/bin/perl -w use strict; my ($from, $to); die "Invalid args\n" unless @ARGV; unless (($from, $to) = $ARGV[0] =~ /(\d{8})-(\d{8})/) { die "Invalid args\n"; } my $dir = '.'; opendir(DIR, $dir) or die "Can't open $dir: $!\n"; my @files = grep { /(\d{8})/ && $1 >= $from && $1 <= $to } readdir DIR; print "@files\n";
An example:
--> ls date.pl file20001105.txt file20010101.txt file20000907.txt file20001231.txt file20010215.txt > ./date.pl 20010101-20010228 file20010101.txt file20010215.txt >
"Perl makes the fun jobs fun
and the boring jobs bearable" - me
In reply to Re: Date Range Parsing
by davorg
in thread Date Range Parsing
by Tuna
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |