$ tree . |-- 503170.pl |-- A |-- B `-- C $ perl -l 503170.pl All done $ tree . |-- 503170.pl |-- A | `-- analysis_completed |-- B `-- C #### my @dirs = qw[ ... ]; my @rFiles = map{ "$_/analysis_completed" } @dirs; while (@rFiles and sleep 15) { -e $rFiles[$_] and splice @rFiles, $_, 1 for reverse 0..$#rFiles; } print "All done";