use File::Basename; my $filename = "../../path/to/test.txt"; my $basename = basename( $filename, '.txt', '.dat'); print $basename, $/; __END__ test