in reply to Re: split function
in thread split function

Not sure what "typo" but here is the entire subroutine. The perl program uses strict and warnings. Code runs produces desired output, I just don't understand why. Not my code just trying to understand the reference to and array element when I don't see an array element available?

sub get_cc_view{ my @ccView = (); @ccView = (grep /Set view:/, @ccView)[0]; my $view = (split(/:/ , $setView))[1]; $view =~ s/\s//g; $CC_View = $view; $CC_View = "View: $CC_View"; }

I understand all code except my $view = (split(/:/ , $setView))1

Replies are listed 'Best First'.
Re^3: split function
by AnomalousMonk (Archbishop) on Apr 28, 2015 at 13:52 UTC
    I understand all code except my $view = (split(/:/ , $setView))1

    split returns a list, and a list, properly parenthesized, can be subscripted:

    c:\@Work\Perl\monks>perl -wMstrict -le "my $one = ('zero', 'uno', 'two')[1]; print qq{'$one'}; " 'uno'


    Give a man a fish:  <%-(-(-(-<

      Thanx Anamalous! Now it's perfectly clear. I am very new to perl and it's multitude of ways to accomplish tasks. And if I listen to co-workes, I should be learning javascript because perl is so passe`.

        Just for the sake of completeness, I should mention that lists can be sliced as well as subscripted:

        c:\@Work\Perl\monks>perl -wMstrict -le "my ($kilo, $papa, $quebec, $romeo, $delta) = ('a' .. 'z')[ 10, 15 .. +17, 3 ]; print qq{'$delta' '$kilo' '$papa' '$quebec' '$romeo'}; " 'd' 'k' 'p' 'q' 'r'


        Give a man a fish:  <%-(-(-(-<