warn 'tab' if unescape("\\t") eq "\t"; warn 'nl' if unescape("\\n") eq "\n"; warn 'bel' if unescape("\\07") eq "\07"; sub unescape { my($s)=@_; $s =~ s/(\\[^\d])/ (eval "\"$1\"") || $1 /ge; # "\t", "\n", etc $s =~ s/\\(0\d+)/ eval "chr($1)" /ge; # "\07", etc. return $s; }