#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11150757 #use warnings; # uncomment for newer perls my $target = "/home/zsolti/Temp"; $target = '../mnt/home/old'; # FIXME for testing on my system my @exclude = ( #'2023_02_21_Szentendre_Pilis_EK_oldal' 'webftp' ,'x' ); my (@audioFiles, %playList); my $numOfRandFiles = 10; my @stack = $target; while( my $path = pop @stack ) { grep $path =~ /\/\Q$_\E\z/, @exclude and next; push @audioFiles, grep -f, <$path/*.mp3>; push @stack, grep -d, <$path/*>; } $playList{ splice @audioFiles, rand @audioFiles, 1 or last } = $_ for 1 .. $numOfRandFiles; printf "%3d %s\n", $playList{$_}, $_ for sort keys %playList;