Mercurial > repo
annotate bin/slashes @ 4780:bd7a6844f61f
<oerjan> revert
author | HackBot |
---|---|
date | Wed, 27 Aug 2014 22:22:55 +0000 |
parents | 417963e20c08 |
children |
rev | line source |
---|---|
4728
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
1 #!/usr/bin/perl -w |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
2 #By Ørjan Johansen, 2009-2012. This file is in the public domain. |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
3 |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
4 $| = 1; |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
5 my $l = 0; |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
6 |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
7 $_ = join '', <>; |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
8 while ($l < 512) { |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
9 if (s!^([^/\\]+)!! or s!^\\(.)!!s) { |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
10 $l += length($1); |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
11 print($1); |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
12 } |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
13 else { |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
14 if (s!^/((?:[^/\\]|\\.)*)/((?:[^/\\]|\\.)*)/!!s) { |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
15 my ($s,$d) = ($1,$2); |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
16 $s =~ s/\\(.)/$1/gs; |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
17 $d =~ s/\\(.)/$1/gs; |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
18 while (s/(?:\Q$s\E)/$d/) { |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
19 } |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
20 } |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
21 else { last; } |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
22 } |
3339ace022d7
<oerjan> fetch http://oerjan.nvg.org/esoteric/slashes/ircslashes.pl
HackBot
parents:
diff
changeset
|
23 } |