annotate bin/slashes @ 12268:6bbbe2a95120
draft
<b_jonas> slashlearn euclid//Euclid is a short geeky game in which the goal is to do Euclidean compass and straightedge constructions in as few steps as possible. It runs in the browser, found at "http://www.euclidthegame.com/". It was popular among #esoteric regulars in 2016-07.
author |
HackEso <hackeso@esolangs.org> |
date |
Mon, 16 Dec 2019 23:02:52 +0000 |
parents |
c989a1669243 |
children |
|
rev |
line source |
9075
|
1 #!/usr/bin/perl -w
|
|
2 #By Ørjan Johansen, 2009-2012. This file is in the public domain.
|
|
3
|
|
4 $| = 1;
|
|
5 my $l = 0;
|
|
6
|
|
7 $_ = join '', <>;
|
|
8 while ($l < 512) {
|
|
9 if (s!^([^/\\]+)!! or s!^\\(.)!!s) {
|
|
10 $l += length($1);
|
|
11 print($1);
|
|
12 }
|
|
13 else {
|
|
14 if (s!^/((?:[^/\\]|\\.)*)/((?:[^/\\]|\\.)*)/!!s) {
|
|
15 my ($s,$d) = ($1,$2);
|
|
16 $s =~ s/\\(.)/$1/gs;
|
|
17 $d =~ s/\\(.)/$1/gs;
|
|
18 while (s/(?:\Q$s\E)/$d/) {
|
|
19 }
|
|
20 }
|
|
21 else { last; }
|
|
22 }
|
|
23 }
|