Существует бесконечно много способов создать трехсимвольную строку a\b
, включая следующие:
'a\b'
'a\\b'
"a\\b"
"a\x5Cb"
join(chr(0x5B), qw( a b ))
pack('H*', '615C62')
Data :: Dumper не знает, какой код был использован для создания строки. DD используется для генерации действительного кода Perl, который при выполнении создает предоставленную строку, и именно это он делает, когда создает 'a\\b'
для a\b
. Обратную косую черту (\
) иногда нужно экранировать в строковых литералах, заключенных в одинарные кавычки, поэтому DD всегда экранирует ее, чтобы все было просто и согласованно (как и я).
Если вы не хотите генерировать Perl код, не используйте Data :: Dumper.