Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^6: A short whishlist of Perl5 improvements leaping to Perl7

by tybalt89 (Prior)
on Nov 25, 2020 at 05:09 UTC ( #11124184=note: print w/replies, xml ) Need Help??


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

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2021-03-04 19:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (107 votes). Check out past polls.

    Notices?