"be consistent" PerlMonks

### Re^2: The golf course looks great, my swing feels good, I like my chances (Part I)

by eyepopslikeamosquito (Chancellor)
 on Jul 24, 2010 at 07:13 UTC ( #851128=note: print w/replies, xml ) Need Help??

I just noticed a very similar Roman numeral golf recently concluded at golf.shinh.org. Adjusting ySas' winning Perl solution to that game for this one produces this 58 stroker:

s/(M)|D/4x@-x5/eg,s/C4//,\$\=y/LXVIC4/DCLXM/for(<>)x3;print
which has a similar form to robin's early-lead 60 stroker above -- though it uses a different algorithm. Both these solutions are very beautiful, very Perlish, and quite astonishing (at least to me).

I especially enjoyed ySas' ingenious use of @- above. I've never seen @- used like that in golf before and am tempted to give it a name, "ySas' device". By way of explanation, note that adding parentheses around (M) above adds one more element to the @- array when the (parenthesized) M matches. That is, the number of items in @- is used to differentiate between a matching M (two items in @-) and a matching D (one item in @-); this fits like a glove here because one and two happen to be the required multipliers.

Update: By applying ideas from ySas' solution, we can reduce Robin's original 60-stroker:

y/DCLXVIM /4 DCLX9/,\$\=s/( )?\d/9x(\$&+!\$1)/egfor(<>)x4;print
to 58:
s/M2//,y/DCLXVIM/1MDCLX2/,\$\=s/\d/2x\$&x5/egfor(<>)x4;print

Create A New User
Node Status?
node history
Node Type: note [id://851128]
help
Chatterbox?
 [marto]: Eily you can't remote connect the physical device via USB ;) [Corion]: Eily: Sure, that's what I do, but some things you need to do on the Android device directly, like when navigating the bootloader :-) [Eily]: marto you just need a longer cable :P [Corion]: marto: Yeah, but I'm somewhat wary of installing random USB drivers downloaded from mega.nz , Google Drive or whatever, so Linux wins there due to there being no conflicts and me just having to edit one text file in the worst case, to add the USB vendor [hippo]: Long USB cable FTW. [Corion]: Eily: I've thought of that, but I don't like running long cables through the appartment because sooner or later I'll trip over it, pulling at least one device off its stand :) [marto]: hmm, may have to patch CPAN::Meta to move from search.cpan to metacpan in the META.json/yml files [Corion]: marto: Heh - it seems that they plan to keep the search.cpan.org links alive for a long time. But still, I plan on moving PM to use/generate the new links [Corion]: And I think it's better to generate links to the new world instead of keeping the older links alive by generating new versions of them ;) [marto]: yeah, I guess it's supposed to be a permanent redirect, but better to make the move where possible

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (12)
As of 2018-05-23 09:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
World peace can best be achieved by:

Results (166 votes). Check out past polls.

Notices?