Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: map and grep or clear code?

by ikegami (Patriarch)
on Jan 31, 2012 at 10:13 UTC ( [id://950925]=note: print w/replies, xml ) Need Help??


in reply to map and grep or clear code?

Your code:

my %filter_map = ( ... ); my $filter = q{}; if ($filter_clean) { my @filter_split = split //, $filter_clean; for my $fc (@filter_split) { if ( $fc =~ /\d/ ) { $filter .= $fc; } else { $filter .= $filter_map{ uc $fc }; } } } say $filter;

Simpler procedural code:

my %map = ( ... ); $map{$_} = $_ for 0..9; my $numeric; for (split //, uc($word)) { $numeric .= $map{$_}; } say $numeric;

Simpler functional code:

my %map = ( ... ); $map{$_} = $_ for 0..9; my $numeric = join '', map $map{$_}, split //, uc($word); say $numeric;

In this case, both the procedural and function approach are quite clear.

It's very ironic that you're calling map unclear when your variable name indicates you're thinking in terms of a map.

Replies are listed 'Best First'.
Re^2: map and grep or clear code?
by ghenry (Vicar) on Jan 31, 2012 at 12:45 UTC

    I think I prefer yours and 950927:

    my %map = ( ... ); $map{$_} = $_ for 0..9; my $numeric = join '', map $map{$_}, split //, uc($word); say $numeric;

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-19 00:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found