in reply to Re^5: A short whishlist of Perl5 improvements leaping to Perl7
in thread A short whishlist of Perl5 improvements leaping to Perl7
Alternative - yes, better - ???
Why use a map - "slices forever !!"
{ my %rtoa = ( M=>1000, D=>500, C=>100, L=>50, X=>10, V=>5, I=>1 ); sub roman_to_dec { reduce { $a+$b-$a%$b*2 } @rtoa{split//, uc(shift)} } }
Or double your fun with a double-split.
sub roman_to_dec { reduce { $a+$b-$a%$b*2 } @{{split/(\d+)/, 'M1000D500C100L50X10V5I1'}}{split//, uc pop} }
Or back to a map...
sub roman_to_dec { reduce { $a+$b-$a%$b*2 } map 'M1000D500C100L50X10V5I1' =~ /$_(\d+)/i, split//, pop }
Well, that was fun - thanks
In Section
Meditations