in reply to opening consecutive files
Rather than trying to open 30 files when some or all of them may not exist, and dieing if one of them doesn't (unless that makes sense). You could let perl tell you which files exist and just open those that do.
while( my $file = <graph_set_*.out> ) { next unless $file =~ m[graph_set_[123]?[0-9].out]; open IN, '<', $file or warn "Couldn't open file $file because $!"; #Do stuff close IN; }
The caveat is that you may not get the files in the order you want them if that is important. They will be in sorted order (as of 5.8 I think) but as your numbers don't appear to have leading zeros, they will come in ascii order 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 4 5 6 7 8 9
If that's a problem, then you could do
for $file (sort{ $a=~/(\d+)/ <=> $b=~/(\d+)/ } <graph_set_*.out> ) { open... .... close... }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: opening consecutive files
by harry34 (Sexton) on Jun 27, 2003 at 13:57 UTC | |
by Abigail-II (Bishop) on Jun 27, 2003 at 14:00 UTC |