while( my $file = ) { 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; } #### for $file (sort{ $a=~/(\d+)/ <=> $b=~/(\d+)/ } ) { open... .... close... }