use Devel::Peek; # literal case - PV's are the same $txt = 'some\text'; print "Case 1 'some\\text': $txt\n-------\n"; # PV gets an extra '\' pushed on it. Dump($txt); $txt = 'some\\text'; print "\nCase 2 'some\\\\text: $txt\n-------\n"; #PV does NOT get an extra '\' pushed on to it Dump($txt); # quoted case - PV's handle '\' as expected $txt = "some\text"; print "\nCase 3 \"some\\text\": $txt\n-------\n"; Dump($txt); # $txt = "some\\text"; print "\nCase 4 \"some\\\\text\": $txt\n-------\n"; Dump($txt);