Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Why are my functions second-class citizens?

by geary@acm.org (Initiate)
on Feb 15, 2012 at 16:30 UTC ( #953996=perlquestion: print w/ replies, xml ) Need Help??
geary@acm.org has asked for the wisdom of the Perl Monks concerning the following question:

So, let's say, purely for the sake of argument, that I have a function like:

sub rv (@) { reverse @_; };
and I want to call it in this context:
sort rv @list;
Perl won't let me because it thinks I'm trying to use &rv as the comparison function for sort. I could say:
sort(rv(@list));
but that doesn't look as cool.

This works:

sort reverse @list;
How do get perl to treat &rv the same way?

Comment on Why are my functions second-class citizens?
Select or Download Code
Re: Why are my functions second-class citizens?
by choroba (Abbot) on Feb 15, 2012 at 16:43 UTC
Re: Why are my functions second-class citizens?
by LanX (Canon) on Feb 15, 2012 at 16:52 UTC
    Some people want this DWIM functionality, which inhibits to Do What You Mean.

    Instead of fiddling with this magical syntax, I'd recommend writing a function my_sort with a clear interface to do what you want.

    Cheers Rolf

Re: Why are my functions second-class citizens?
by Old_Gray_Bear (Bishop) on Feb 15, 2012 at 17:01 UTC
    Don't code for 'cool', code for clarity.

    ----
    I Go Back to Sleep, Now.

    OGB

Re: Why are my functions second-class citizens?
by JavaFan (Canon) on Feb 15, 2012 at 17:55 UTC
    If you don't like the sort-cut sort is offering you, you can always be explicit:
    sort {$a cmp $b} rv @list;

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (7)
As of 2014-09-03 05:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (35 votes), past polls