# $temp was already defined, i just initialize its value here 1: my (@temp, $in, $out); $temp = ''; 2: 3: PROCESS: while ($temp = shift @files) { 4: $temp = $dir.'/'.$temp; 5: 6: (-f $temp)?(push @temp, $temp):(next PROCESS); 7: IN: foreach $in (@include) { 8: last IN if ($temp =~ eval $in); 9: pop @temp if ($in eq $include[$#include]); 10: } 11: OUT: foreach $out (@exclude) { 12: next OUT if ($temp !~ eval $out); 13: (pop @temp and last OUT) if ($temp =~ eval $out); 14: } 15:} 16:@files = @temp;