93% aller Farbkleckse sind gültiger Perl-Code

5. April 2019 12:32 | #Fun #Programmierung

Ich habe selbst keine wirkliche Ahnung von Perl-Code, weiß aber dass ich mit meinen rudimentären C64-Assembler-Kenntnissen oft genug vor Programmzeilen saß und mir nur „Heilige Scheiße was soll das“ dachte. Die Programmiersprache Perl gilt aufgrund seiner ihrer exzessiven Nutzung von sogenannten Sigils (die Zeichen $@%&* zur Deklaration von Variablen) und seiner Fähigkeit, Zeichenketten ohne Gänsefüsschen zu deklarieren, als Programmiersprache, die besonders hässlichen Code erzeugt. So ist zum Beispiel

@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print

valider Code.

Im Februar frage nun Jake Archibald, ob es überhaupt möglich sei, Farbe an eine Wand zu schmieren, ohne validen Perl-Code zu erzeugen und diese Frage wurde nun von Colin McMillen und Tim Toady in einem neuen Paper untersucht. Ihre Antwort: 93% aller Farbkleckse, die durch eine Texterkennung in Schrift konvertiert werden, erzeugen validen Perl-Code. Es ist also möglich, Farbe an eine Wand zu schmieren, ohne valide Perl-Programme zu schreiben, es ist aber sehr unwahrscheinlich. 100% aller Batik-Shirts würden dem zustimmen.

Hier alle untersuchten Farbkleckse inklusive validem Perl-Code.

While we successfully found valid Perl programs in 93 of 100 input images, all of these programs are uninteresting; they don’t actually seem to do anything when executed. However, some of them do evaluate to a value, which is then discarded without being displayed.

We therefore passed each valid program into Perl’s eval() function and printed out the result of evaluating it. Many of these are simple integer literals. Figure 2 shows an input image which is read by OCR as the string “35”, which evaluates to the number 35 when parsed by Perl. […]

In all, the dataset contains 20 images which can be parsed as numeric literals. An interesting thing about these images is that they’re not particularly Perl-specific; for example, the program shown in Figure −3 also evaluates as the number −3 in Python (and presumably several other programming languages.) […]

The remainder of the valid Perl programs are mostly valid due to a Perl language feature that is not commonly present in most programming languages. Namely, Perl has a feature called “unquoted strings”, in which a sequence of alphanumeric characters by itself is parsed as though it were a quoted string.

Jetzt Nerdcore unterstützen!

Nerdcore veröffentlicht seit mehr als 12 Jahren Analysen und Dokumentationen zu Memetik, Netz-Soziologie und digitalen Subkulturen, garniert mit jeder Menge Kunst, Entertainment und Unfug. Nerdcore prägte die deutsche Netzkultur maßgeblich, initiierte die erste deutsche Meme, ging Frau Merkel mit Flashmobs auf die Nerven und manche Menschen behaupten, ich würde ab und zu gute Arbeit abliefern.

Die Website ist seit 2017 werbefrei und wird aus Spenden und Abonnements finanziert. Um den Betrieb der Seite und meine Vollzeitstelle zu sichern, könnt ihr gerne ein Abonnement auf Patreon oder Steady abschließen oder mir eine einmalige Spende oder einen Dauerauftrag per Paypal oder auf mein Konto (IBAN DE05100100100921631121) zukommen lassen.

Vielen Dank an alle Leser und Unterstützer dieses Blogs.

Neu auf Nerdcore:

Nerdcore auf Twitter

Trailer_In the Tall Grass

Jurassic World-Short Film: Battle at Big Rock

Jupiter Eclipse 🌕

Die psychologischen Folgen von Facebooks Content-Moderation

Jetzt Nerdcore unterstützen!

2 Kommentare zu “93% aller Farbkleckse sind gültiger Perl-Code”

  1. Warum verbreitest du am 5. noch diesen Aprilscherz?
    Hat 5 Sekunden gedauert um zu sehen das es am 1. April veröffentlicht wurde.

    1. Die Sigbovik ist eine valide Fun-Konferenz in Pittsburgh und diese Fun-Studie war ein Vortrag dort. Sie ist selbst kein Aprilscherz, sondern einfach nur ein Scherz. Zieh mal den Stock raus.

Kommentare sind geschlossen.

Jetzt Nerdcore unterstützen!


Patreon
Steady
Paypal
IBAN DE05100100100921631121

Dankeschön!


NC-Shirts

Kontakt

Newsletter

Bücherstapel
Was für Lebewesen sind wir? (Noam Chomsky)

Der Tyrann: Shakespeares Machtkunde für das 21. Jahrhundert (Stephen Greenblatt)

Stan (John Connolly)

Die geheime Welt der Bauwerke (Roma Agrawal)

Verzeichnis einiger Verluste (Judith Schalansky)