use File::Spec::Win32; while () { #split the on pipe ($Name,$Size,$LastChangeDate,$LastAccessDate,$CreatedDate,$Extension,$Path) = split(/\|/, $_); (my $volume, my $directories, my $file ) = File::Spec::Win32->splitpath( $Path ); my @dirs = File::Spec::Win32->splitdir($directories); print "@dirs|$Name"; print "\n";