# untested opendir( my $dh, $some_dir ) or die "can't opendir $some_dir: $!"; my @files = grep { ...some condition... } readdir( $dh ); closedir $dh; # there, now do whatever you wanted to `goto` here, # iterating or whatever over @files # ...