view bin/slashes @ 8509:272663b31668

<b_jonas> slashlearn block device/Block devices are a concession made in Unix to make raw hard disks and magnetic tape have a similar interface to regular files and terminals. Since magnetic tapes can\'t write individual bytes, only entire blocks, the interface isn\'t exactly the same, thus the dreaded dd obs= option was born.
author HackBot
date Fri, 17 Jun 2016 08:35:50 +0000
parents c0aac9581038
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; }
        }
}