Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^5: Trim Two Characters On Line

by soonix (Canon)
on Oct 23, 2020 at 22:02 UTC ( #11123103=note: print w/replies, xml ) Need Help??

in reply to Re^4: Trim Two Characters On Line
in thread Trim Two Characters On Line

Your $line usually has a Newline at the end, which will be one of the characters that you are trimming.

If you want the newline back, you have to add it back, e.g.
$line =~ substr( $line, -2, 2, '' ) . "\n"

Replies are listed 'Best First'.
Re^6: Trim Two Characters On Line
by AnomalousMonk (Bishop) on Oct 23, 2020 at 22:18 UTC

    Even after fixing the assignment operator (=~ vice =), that doesn't quite work:

    Win8 Strawberry (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:  <%-{-{-{-<

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11123103]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (2)
As of 2021-10-25 03:22 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (89 votes). Check out past polls.