view bin/slashes @ 10288:2914125a0a85

<oerjan> le/rn tmp//tmp/ is a directory for files that are not worth saving in HackEgo history, but which should still survive a single command. Note that it interacts funnily with HackEgo\'s lock and re-run commit check: files can disappear if you don\'t know what you\'re doing. Basically, don\'t modify files inside and outside tmp/ in the same HackEgo command.
author HackBot
date Thu, 16 Feb 2017 17:28:09 +0000
parents c989a1669243
children
line wrap: on
line source

#!/usr/bin/perl -w
#By Ørjan Johansen, 2009-2012.  This file is in the public domain.

$| = 1;
my $l = 0;

$_ = join '', <>;
while ($l < 512) {
        if (s!^([^/\\]+)!! or s!^\\(.)!!s) { 
                $l += length($1);
                print($1);
        }
        else {
            if (s!^/((?:[^/\\]|\\.)*)/((?:[^/\\]|\\.)*)/!!s) {
                my ($s,$d) = ($1,$2);
                $s =~ s/\\(.)/$1/gs;
                $d =~ s/\\(.)/$1/gs;
                while (s/(?:\Q$s\E)/$d/) { 
                }
            }
            else { last; }
        }
}