annotate bin/slashes @ 7759:b4341511eb47

<fizzie> ` echo -e \'#! /bin/bash\\ncmd="$1"\\nshift\\nf="$*"\\nif [ -z "$f" && "$f" == *\\\\ * ]; then f="${cmd#* }"; cmd="${cmd%% *}"; fi\\nif [ -z "$f" ]; then echo try: \\\\`f command filename; else "$cmd" "$(< "$f")"; fi\' > bin/f
author HackBot
date Wed, 04 May 2016 21:35:48 +0000
parents c0aac9581038
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5643
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
1 #!/usr/bin/perl -w
6596
c0aac9581038 <oerjan> `` sed -i \'s/.rjan/\xc3\x98rjan/\' bin/slashes
HackBot
parents: 5643
diff changeset
2 #By Ørjan Johansen, 2009-2012. This file is in the public domain.
5643
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
3
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
4 $| = 1;
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
5 my $l = 0;
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
6
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
7 $_ = join '', <>;
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
8 while ($l < 512) {
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
9 if (s!^([^/\\]+)!! or s!^\\(.)!!s) {
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
10 $l += length($1);
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
11 print($1);
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
12 }
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
13 else {
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
14 if (s!^/((?:[^/\\]|\\.)*)/((?:[^/\\]|\\.)*)/!!s) {
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
15 my ($s,$d) = ($1,$2);
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
16 $s =~ s/\\(.)/$1/gs;
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
17 $d =~ s/\\(.)/$1/gs;
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
18 while (s/(?:\Q$s\E)/$d/) {
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
19 }
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
20 }
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
21 else { last; }
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
22 }
56dcce63901b <tswett> revert
HackBot
parents:
diff changeset
23 }