Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^8: Not understanding 2 sentences in perldoc

by zapdos (Sexton)
on Jul 29, 2020 at 22:30 UTC ( [id://11120035]=note: print w/replies, xml ) Need Help??


in reply to Re^7: Not understanding 2 sentences in perldoc
in thread Not understanding 2 sentences in perldoc

I see. But I want to know why in my ($x, $y, $z) = qw( 1 2 3 ); it's returning the lvalues in list context and why in ( $x, $y, $z ) = qw( a b c ); it's returning nothing?

And in the expression (my ($x, $y, $z) = qw( 1 2 3 )) = qw( a b c ); it's returning nothing as well?

Replies are listed 'Best First'.
Re^9: Not understanding 2 sentences in perldoc (updated)
by AnomalousMonk (Archbishop) on Jul 30, 2020 at 01:16 UTC

    c:\@Work\Perl\monks>perl -wMstrict -le "my ($x, $y, $z); ;; ($x, $y, $z) = qw( 1 2 3 ); print qq{$x, $y, $z}; ;; (($x, $y, $z) = qw( 1 2 3 )) = qw( a b c ); print qq{$x, $y, $z}; ;; ((($x, $y, $z) = qw( 1 2 3 )) = qw( a b c )) = qw(foo bar baz); print qq{$x, $y, $z}; " 1, 2, 3 a, b, c foo, bar, baz
    The expression  ($x, $y, $z) = ... evaluates to a list of assignable values, i.e., lvalues.
    The expression  ($x, $y, $z) = RHS evaluates to the list of assignable values, i.e., lvalues, $x, $y, $z.

    And likewise with

    c:\@Work\Perl\monks>perl -wMstrict -le "my ($x, $y, $z) = qw( 1 2 3 ); print qq{$x, $y, $z}; ;; (my ($u, $v, $w) = qw( 1 2 3 )) = qw( a b c ); print qq{$u, $v, $w}; ;; ((my ($r, $s, $t) = qw( 1 2 3 )) = qw( a b c )) = qw(foo bar baz); print qq{$r, $s, $t}; " 1, 2, 3 a, b, c foo, bar, baz


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

      Arigato gozaimasu ^^
Re^9: Not understanding 2 sentences in perldoc (RTFGlossary)
by LanX (Saint) on Jul 30, 2020 at 10:25 UTC

    • context

      The surroundings or environment. The context given by the surrounding code determines what kind of data a particular expression is expected to return.

    • void context

      A form of scalar context in which an expression is not expected to return any value at all and is evaluated for its side effects alone.

    • side effects

      Something extra that happens when you evaluate an expression. Nowadays it can refer to almost anything. For example, evaluating a simple assignment statement typically has the “side effect” of assigning a value to a variable. ...

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (2)
As of 2024-04-25 20:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found