opendir my $D, 'antarctica' or die $!; while (defined(my $dir = readdir $D)) { $dir = "antarctica/$dir"; next unless -d $dir; chdir $dir; for ... chdir '..';