$ perl -le' use File::Basename; my $name = "/home/code/work"; print join " ", reverse map { my $d = dirname my $x = $name; $name = $d; $x } 1 .. $name =~ y!/!!; ' /home /home/code /home/code/work