#! perl -slw use strict; use vars qw[$N]; $N ||= 30; die 'No path specified' unless @ARGV; my @files = glob $ARGV[0]; my $r; $r = rand(@files) and @files[$_,$r] = @files[$r,$_] for 0 .. $N; splice @files, $N; print for @files;