use strict; use warnings; use Cwd; my $marker = '.marker'; cwd =~ m#^(.*)(?:/|$)(??{ print "at level '$1' \n"; ! -f "$1/$marker"})# or die "'$marker' not found"; print "found '$marker' in '$1' \n";