Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: How Much Is Too Much (on one line of code)?

by Random_Walk (Prior)
on Jun 18, 2007 at 12:22 UTC ( #621770=note: print w/replies, xml ) Need Help??

in reply to How Much Is Too Much (on one line of code)?

How about

my $country = uc $card->country || ''; # make sure it is UC and define +d $country = '' if $country eq 'GBR'; # blat the Brits

Same caveat about hard coded GBR still applies. It is still brief but I think the logic is clearer so divided. I am aware that will kill $country == 0 but as you are checking for gbr I suspect you do not have numeric countries


I missed the addition of [] around the country (sort of proves the danger of too much on one line) so my solution needs another line

$country = "[$country]" if $country;

or a re-write, I will put my thinking hat back on again !

update 2

with inspiration from perrin

my $def_country = 'GBR' my $country = uc $card->country || $def_country; # ensure UC & has a v +alue $country = $country eq 'GBR' ? '' : "[$country]" # blat brits, add [br +ackets]


Pereant, qui ante nos nostra dixerunt!

Replies are listed 'Best First'.
Re^2: How Much Is Too Much (on one line of code)?
by Anonymous Monk on Jun 19, 2007 at 00:10 UTC
    If $card->country returns 'Gbr', then your code will set $country to '', while the original code will set it to 'Gbr'.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://621770]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2018-05-28 08:46 GMT
Find Nodes?
    Voting Booth?