use List::Util qw( apply ); sub get_game_maps { my ($game) = @_; my $user = $ENV{'USER'}; my $dir = "/home/$user/hlds_l/$game/maps/"; # We're done if the dir does not exist. return unless -d $dir; opendir(my $maps_dh, $dir) or die("Cannot open directory"); return apply { s/\.bsp\z// } grep { /\.bsp\z/ } readdir($maps_dh); }