in reply to Re: get solution as short as possible
in thread get solution as short as possible
for (grep /^default_option_/, keys %def) { my (undef, $option) = split /_/, $_, 2; $s{$option} = $def{$_}; }
... changes to a somewhat dense form of ...
for ( grep /^default_option_/, keys %def ) { $s{ (split /_/, $_, 2)[-1] } = $def{ $_ }; }
... put other way (by way of moritz's explicit hint) ...
%s = map { (split /_/, $_, 2)[-1] => $def{ $_ } } # Useless use of grep. grep /^default_option_/, keys %def ;
... which begs to go to the original version despite OP's request...
%s = map { m/^ default_ (option_.+) $/x ? ( $1 => $def{ $_ } ) : () } keys %def ;
I, myself, would not have bothered with any of map-grep or for-grep versions shown thus far. In case of for-loop, I would be prone to write "next if".
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: get solution as short as possible
by dexahex (Novice) on Aug 17, 2011 at 13:20 UTC | |
by parv (Parson) on Aug 17, 2011 at 18:20 UTC |