#!/usr/bin/perl use strict; opendir DIR, "./" || die "can't opendir some_dir: $!"; foreach my $element ( readdir(*DIR) ) { if ( -d $element && $element ne '.' && $element ne ".." ) { print "$element \n"; opendir SUBDIR , "$element" || die "Flaming death : $!\n"; foreach my $file ( readdir(*SUBDIR) ) { print "$file\n"; if ( -f $file && $file =~ /\.rar/ ) { chdir (*SUBDIR) || die "Can't CHDIR to the subdir : $!\n"; system("unrar e \"$file\" ") or die "Can't unrar : $!\n"; } } close SUBDIR; } }