Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Golf: Fix de facto HTML comments (spoiler)

by blokhead (Monsignor)
on Jul 18, 2004 at 19:26 UTC ( #375414=note: print w/replies, xml ) Need Help??


in reply to Golf: Fix de facto HTML comments

This solution seems too straight-forward and obvious, so I feel like I must have missed an important detail...

51 characters:

#2345678 1 2345678 2 2345678 3 2345678 4 2345678 5 s/<!--(.*?)-->/(my$x=$1)=~s!--!-!g;"<!--$x-->"/egs

Update: I did miss an important detail, so here's a revision (62 chars):

This failed with <!----->, not changing it (now there's an -- after the opening <!--, which is not the final one (though it overlaps with the final one)). Here's a fix:

#2345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 6 12 s/<!--(.*?)-->/(my$x=$1)=~s!--!-!g;$x=~s!-$!!;"<!--$x-->"/egs
That's 62 chars. This seems to fix that problem. And I can't think of a case where it would alter more characters than necessary. We shall see though.. I tried doing something fancy with zero-width assertions, but couldn't get anything shorter than this.

blokhead

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://375414]
help
Chatterbox?
[LanX]: hmm could be a myth since the root of throne is Greek
[LanX]: erix : the one armed who spent his last years in Dorn castle was a prince of Oranie ;)
[erix]: why does that tell against the Kaiser-story?
[erix]: ah, of course, makes sense
[erix]: mafia are family based, of course
[LanX]: Doorn
[erix]: yes, I got it :) It's close to where I live (Utrecht)
[LanX]: Dutch royals usually spent their exiles on Berlin

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (11)
As of 2017-12-15 16:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (439 votes). Check out past polls.

    Notices?