在本文中,我们旨在回答编程语言社区中一个长期存在的悬而未决的问题:是否可以在不创建有效 Perl 的情况下在墙上涂抹油漆?我们肯定地回答这个问题:可以在不创建有效 Perl 程序的情况下在墙上涂抹油漆。我们采用一种经验方法,使用光学字符识别 (OCR) 软件,该软件发现只有 93% 的油漆飞溅被解析为有效的 Perl。我们分析了油漆飞溅 Perl 程序的特性,并展示了七个不是有效 Perl 程序的油漆飞溅示例。已于 2019 年 4 月 1 日在匹兹堡举行的 SIGBOVIK 2019 上接受发表。 Unwitting Participation Ribbon 获奖者,“我们在每篇论文上贴上了一个不受欢迎的品牌,经过仔细审查,确定包含真正的人工制品,从而促进了开放科学和卓有成效的拖延的令人钦佩的原因。”在 Google Docs 上阅读或下载 PDF。或获取整个 SIGBOVIK 2019 会议记录;我在第 174 页。这是单个页面上的所有油漆飞溅,以及对应于每个的有效 Perl 源代码。对于那些没有解析为有效 Perl 程序的图像,“无效”用红色写成。如果不同的 OCR 设置识别出多个有效的 Perl 程序,我会根据自己的审美选择看起来最“有趣”的一个。这是一个包含 100 张油漆飞溅图像的压缩包,用作本文的主要数据集。直到 SIGBOVIK 提交截止日期之后,我才认为有一些油漆飞溅的 Perl 程序是“有趣的”。例如,OCR 将这个 splatter 识别为字符串 lerzfijglpFiji-j,它在 Perl 中计算为数字 0:
下面的图像被识别为字符串 -*?,它在 Perl 中也计算为数字 0: 下面显示了另一个令人惊讶的程序; OCR 将此图像识别为字符串 ;i;c;;#\\?z{;?;;fn':.;,其计算结果为 Perl 中的字符串 c:最后,该图像被识别为字符串 ;E, '__',它的计算结果是 Perl 中的字符串 E__: