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