what is the significance of the first two columns of strings in @somearray? are you creating a hash or a list? what are you offering up as the "readable" alternative?
without changing the expression itself, any of these would be clearer, depending:
my %aliases_for_things = map split(/ /,$_,2), map uc, @somearray; return %aliases_for_things;
return map split(/ /,$_,2), map uc, @somearray; # FIRST and LAST names
this naming is something you would have to do anyway were you to avoid the maps with the usual foreach...push alternative:my @labels_and_values = map split(/ /,$_,2), map uc, @somearray; return @labels_and_values;
as i read something like that, i'm mentally transforming it back to maps so i can personally understand it better anyway. the real gain here is not in the refactoring, but in giving a name to the structure you are returning.my @flattened_pairs; foreach my $thing (@somearray) { my $upper_thing = uc $thing; my @pair = split / /, $upper_thing, 2; push @flattened_pairs, @pair; } return @flattened_pairs;
In reply to Re: Should I leave behind beautiful code or readable code?
by mreece
in thread Should I leave behind beautiful code or readable code?
by MaxKlokan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |