use strict; use warnings; my @files = glob "../*.uha"; foreach my $f (@files) { $f =~ s/\//\\/g; (my $dir = $f) =~ s#^.*\\##; print "$f\t\t$dir\n"; mkdir $dir; chdir $dir; system("..\\..\\UHARCD.EXE x -o ..\\$f"); chdir ".."; }