We don't bite newbies here... much PerlMonks

Re^8: Not understanding 2 sentences in perldoc

by zapdos (Sexton)
 on Jul 29, 2020 at 22:30 UTC Need Help??

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 (Bishop) 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 (Cardinal) 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

Create A New User
Node Status?
node history
Node Type: note [id://11120035]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2020-11-26 12:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found

Notices?