use Path::Class qw( file ); print( file('A:\\B.CD(E)~!@#$%^&\\E\\F.txt') ->relative('A:\\B.CD(E)~!@#$%^&'), "\n" ); #### use File::Spec::Functions qw( abs2rel ); print( abs2rel('A:\\B.CD(E)~!@#$%^&\\E\\F.txt', 'A:\\B.CD(E)~!@#$%^&'), "\n" );