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

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 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:  <%-{-{-{-<

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11123103]
help
Chatterbox?
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
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My first memorable Perl project was:







    Results (89 votes). Check out past polls.

    Notices?