Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: When is a function call not a function call

by duff (Parson)
on Mar 30, 2006 at 04:15 UTC ( [id://540112]=note: print w/replies, xml ) Need Help??


in reply to When is a function call not a function call

To make it work I need to resort to:
print sort grep {1} uniq 0,0,1,2;

I know it's mentioned in the node that Roy Johnson linked to, but I think it bears repeating that you don't need to resort to such arcane chicanery. Simply adding parentheses does the trick:

print sort(uniq(0,0,1,2));

Replies are listed 'Best First'.
Re^2: When is a function call not a function call
by dpuu (Chaplain) on Mar 30, 2006 at 04:52 UTC
    That doesn't seem to work:
    % perl -we 'sub fn {print "$a$b\n"} print(sort(fn(0,0,1,2)))' Unquoted string "fn" may clash with future reserved word at -e line 1. 00 10 21 0012
    I can eliminate the warnings by choosing a function name that isn't all-lowercase but, as the output demonstrates, the function is still called as a comparator, not a modifier of the input list.

    Update: I was using perl 5.6.1. The parentheses trick works with 5.8.

    --Dave
    Opinions my own; statements of fact may be in error.

      It's good to know that 5.6.x is broken in this regard in case one of us is unlucky enough to be required to use a 5 year old perl distribution. :-)

      thanks

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2024-03-28 09:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found