in reply to Re: How can you split inside pop?
in thread How can you split inside pop?

The +() syntax is often confusing. Try either of the following:
my $x = "this is a string"; my $y = (split ' ', $x)[-1]; print "$y\n"; ######## OR ######## my $x = "this is a string"; print( (split ' ', $x)[-1], $/);

That way, you avoid the scalar-context hack that is +().

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

... strings and arrays will suffice. As they are easily available as native data types in any sane language, ... - blokhead, speaking on evolutionary algorithms

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

Replies are listed 'Best First'.
Re: Re: Re: How can you split inside pop?
by antirice (Priest) on Feb 13, 2004 at 20:22 UTC
    The +() syntax is often confusing.
    ...
    That way, you avoid the scalar-context hack that is +().

    Ummm, to whom? Those who don't know about it? Also, that's not scalar context. Don't believe me?

    # perl -wl $,=$"; print +(split " ","this is a string")[-1,1],"good"; __END__ string is good

    Yes. It's still the print LIST that we've all grown to know and love. I don't agree with your dislike of +() and I would tend not to refer to it as a hack. The only thing that the + does is disambiguate what the parentheses mean when perl attempts to parse it.

    antirice    
    The first rule of Perl club is - use Perl
    The
    ith rule of Perl club is - follow rule i - 1 for i > 1