Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re^8: Array dereference in foreach()

by pme (Parson)
on Nov 16, 2017 at 12:55 UTC ( #1203586=note: print w/replies, xml ) Need Help??

in reply to Re^7: Array dereference in foreach()
in thread Array dereference in foreach()

What is this "special context similar to lvalue"? Is there any difference to usual lvalue other than not throwing exception in case of array-dereferencing undef?

However it is not special enough to work smoothly with dereferencing undef as hashref. This one throws exception.

my $a; foreach (keys %$a) { print "$_\n"; }

Replies are listed 'Best First'.
Re^9: Array dereference in foreach()
by choroba (Bishop) on Nov 16, 2017 at 12:59 UTC
    keys doesn't propagate the outer context to its argument.
    #!/usr/bin/perl use strict; use warnings; my $x; 1 for %$x; print $x, "\n"; # HASH(0x26a18cd)

    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
      I suspected that based on haukex comment below.

      Thank you guys!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1203586]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2018-04-25 05:40 GMT
Find Nodes?
    Voting Booth?