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

(jeffa) Re: @_ still mystifies me

by jeffa (Chancellor)
on Jun 01, 2002 at 15:37 UTC ( #170921=note: print w/ replies, xml ) Need Help??


in reply to @_ still mystifies me

I think you should have to use the ternery operator here:

my @lexlist = @_ ? @_ : sort keys %lexicon;
Update - contrary to glancing, || as well as or will not work in this example. By using || or or with parentheses, sort keys %lexicon is evaluated in scalar context. Here is some code to demonstrate:
use strict; use Data::Dumper; my %lexicon = ( foo => 'bar', baz => 'qux', ); foo(); foo(qw(one two three)); bar(); bar(qw(one two three)); baz(); baz(qw(one two three)); sub foo { my @lexlist = @_ ? @_ : sort keys %lexicon; # correct print "foo:\n", Dumper \@lexlist; } sub bar { my @lexlist = @_ || sort keys %lexicon; # incorrect print "bar:\n", Dumper \@lexlist; } sub baz { my @lexlist = (@_ or sort keys %lexicon); # incorrect print "baz:\n", Dumper \@lexlist; }

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)


Comment on (jeffa) Re: @_ still mystifies me
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2014-09-20 06:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (155 votes), past polls