Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^3: What's wrong with Perl 6?

by szr (Scribe)
on Jun 26, 2007 at 16:15 UTC ( [id://623449]=note: print w/replies, xml ) Need Help??


in reply to Re^2: What's wrong with Perl 6?
in thread What's wrong with Perl 6?

Having done some tests, and it also seems to make perfect sense to me... the 2nd version, my @slice=@{$href}{'item1','item2'}; Is the only one which seems valid for the purpose at hand. The target is to get a hash slice, which is array (ahem, list) context, so @{$href} is what places it in that context, dereferencing as an array, to mimic @hash{'item1','item2'}

${$href} on the other hand attempts to dereference as a scalar, which, in my test, didn't yeild anything but undef:
#!/usr/local/bin/perl use strict; my %hash = map { chr(ord('@')+$_) => $_ } (1..26); my $hashref = \%hash; my @list = qw/A B L S Z/; my @slice = @{$hashref}{@list}; my $multi = ${$hashref}{@list}; print '@slice == ['. join(', ', @slice). "]\n"; print "\$multi == '$multi'\n" if defined $multi; print "\$multi == undef\n" if !defined $multi;
Output:
@slice == [1, 2, 12, 19, 26] $multi == undef
So it seems only one of these gets the desired result, and thus no ambiguity.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (4)
As of 2024-03-29 12:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found