use strict; use warnings; use File::Spec; while () { chomp; my @subs = split /\\/, (File::Spec->splitpath ($_)) [1]; print "sub dir is: $subs[2]\n" if $#subs > 1; print "No sub dir in $_\n" if $#subs <= 1; } __DATA__ C:\dir1\ C:\dir1\subdir1\ C:\dir1\subdir1\subdir2\