Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

The perils of DWIM

by Aristotle (Chancellor)
on Oct 01, 2006 at 05:01 UTC ( #575747=perlmeditation: print w/ replies, xml ) Need Help??

The sort function has extra magic to recognise bare sub names without them being parsed as a call, so you can write sort by_date @list_of_hashes where by_date is the name of a sub. I canít think of any time Iíve used that feature Ė however:

use strict; use File::Spec::Functions; use Test::More tests => 5; my @file = do { opendir my $dh, curdir or die "$!"; readdir $dh; }; sub check(&) { not grep $_ eq updir, shift->( @file ) } ;ok check { sort no_upwards @_ } ;ok check { sort no_upwards( @_ ) } ;ok check { sort ( no_upwards @_ ) } ;ok check { sort ( no_upwards( @_ ) ) } ;ok check { sort +( no_upwards @_ ) } =begin output 1..5 not ok 1 # Failed test at t.pl line 13. not ok 2 # Failed test at t.pl line 14. not ok 3 # Failed test at t.pl line 15. ok 4 ok 5 # Looks like you failed 3 tests of 5.

I just lost half an hour tracking this down.

Makeshifts last the longest.

Comment on The perils of DWIM
Download Code
Re: The perils of DWIM
by ambrus (Abbot) on Oct 01, 2006 at 13:23 UTC

    I think I've got that with print as well. I tried to write something like print foo @bar; to mean print(foo(@bar)); but perl thought it was print {foo} @bar;.

      Yeah, but that is easier to disambiguate. I would never have expected #2 to parse as it does, and with print, it wouldnít either.

      Makeshifts last the longest.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://575747]
Approved by McDarren
Front-paged by GrandFather
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 20:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

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











    Results (163 votes), past polls