Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^2: Concatnate long statement

by Fletch (Chancellor)
on Jul 04, 2007 at 00:05 UTC ( #624807=note: print w/ replies, xml ) Need Help??


in reply to Re: Concatnate long statement
in thread Concatnate long statement

And if not refactor, at least switch to using pseudo-named arguments by expecting key/value pairs and appending those to defaults.

sub womble { my @defaults = ( fleem => 12.3, alarm_low => 99, alarm_hi => 'naked ernest borgnine', alarm_hello => 'nice to see you', alarm_good_evening => STOP_STEALING_PYTHON_GAGS, quux => 19.95, ); my %args = ( @defaults, @_ ); if( $args{ quux } > 15 ) { enable_flux_capacitor(); } ## ... rest of womblification routine } womble( quux => 1.21 * GIGAWATS_PER_MICROFLEEM, alarm_low => 42, );


Comment on Re^2: Concatnate long statement
Download Code
Re^3: Concatnate long statement
by fenLisesi (Priest) on Jul 04, 2007 at 07:27 UTC
    A variation:
    use strict; use warnings; use Data::Dumper; my %WOMBLE_DEFAULTS = ( fleem => 12.3, alarm_low => 99, alarm_hi => 'naked ernest borgnine', alarm_hello => 'nice to see you', alarm_good_evening => 'STOP_STEALING_PYTHON_GAGS', quux => 19.95, ); my $DEBUG = 1; womble({ quux => 1.21, alarm_low => 42, }); exit( 0 ); sub womble { my ($args_href) = @_; %$args_href = (%WOMBLE_DEFAULTS, %$args_href); warn Dumper( $args_href ) if $DEBUG; ## ... rest of womblification routine }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2014-07-11 10:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (224 votes), past polls