Perhaps this example helps better what I am trying to say that context matters ( ' vs " ):
use Devel::Peek;
my $txt = 'some\text';
print $txt; #prints some\text
Dump($txt);
versus:
use Devel::Peek;
my $txt = "some\text";
print $txt; #prints some [tab] ext
Dump($txt);
If what you were saying was true, then the first line should print the same as the second.
The substitution:
use Devel::Peek;
my $txt = '\|/';
$txt =~s/\\/\\\\/g;
print $txt;
Dump($txt);
Produces the exact same results as:
use Devel::Peek;
my $txt = '\\|/';
$txt =~s/\\/\\\\/g;
print $txt;
Dump($txt);
Aren't they different literals? Change the ' to " and try the same test.
I think the logic is broken here. A literal should mean, I am to be taken literally, not, interpret part of me as a literal and part of me however you take a guess, because that is what is happening or else it would store 'some\text' the same as "some\text". The parser is just getting this case incorrect I think.