Even after fixing the assignment operator (=~ vice =),
that doesn't quite work:
Win8 Strawberry 5.8.9.5 (32) Fri 10/23/2020 18:12:03
C:\@Work\Perl\monks
>perl -Mstrict -Mwarnings -MData::Dump=dd
my $line = "foo,bar\n";
$line = substr($line, -2, 2, '') . "\n";
dd $line;
^Z
"r\n\n"
A slight variation does:
>perl -Mstrict -Mwarnings -MData::Dump=dd
my $line = "foo,bar\n";
$line = substr($line, 0, -2) . "\n";
dd $line;
^Z
"foo,ba\n"
Update: Another approach is to completely sidestep the
newline:
>perl -Mstrict -Mwarnings -MData::Dump=dd
my $line = "foo,bar\n";
substr($line, -3, 2, '');
dd $line;
^Z
"foo,b\n"
Give a man a fish: <%-{-{-{-<