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

Re^5: Assigning default values to function arguments which may be �empty�

by BrowserUk (Patriarch)
on Aug 19, 2016 at 10:41 UTC ( [id://1170056]=note: print w/replies, xml ) Need Help??


in reply to Re^4: Assigning default values to function arguments which may be �empty�
in thread Assigning default values to function arguments which may be “empty”

a) are the -s and -l switches necessary?

They are in every script I write, unless the function of the script requires their removal to operate properly; which is a very rare occurrence.

  1. The -l so I don't have to litter my code with  . "\n"; or equivalent.
  2. The -s so that if I want to add some simple parameterisations. Eg.
    #! perl -slw use strict; use Benchmark qw[ cmpthese ]; sub f1 { # ( [$:arg] ) use 5.007003; # perl v5.7.3; required for List::Util to be availab +le in CORE use List::Util qw/ first /; my $arg = first { defined && length } ( shift, 'default_value' ); $arg; } sub f2 { my $arg = defined $_[0] && length $_[0] ? shift : 'default'; $arg; } our $ITERS //= 1000; our @args = ( undef, '', 'fred', 1, 1.5 ) x $ITERS; cmpthese -1, { stupid => q[ f1( $_ ) for @args ], simple => q[ f2( $_ ) for @args ], } __END__ C:\test>junk0 -ITERS=10000 Rate stupid simple stupid 12.8/s -- -58% simple 30.2/s 136% --

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^6: Assigning default values to function arguments which may be �empty�
by soonix (Canon) on Aug 19, 2016 at 20:58 UTC
    Ah, thank you. Time to reread perlrun, as I had only thought about -l's input side...

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2024-04-24 17:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found