in reply to Should I leave behind beautiful code or readable code?
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;
|
|---|