Blog::kobaken

prove t/foo/bar/baz.t

Hack For Perlのサブタイトルのふりかえり

この記事はPerlアドベントカレンダー 2023の記事です。


Hack For Perlは、Perlに関わる人々が集まり、自由に開発を進めるイベントです。基本的に毎月開催され、参加は無料で、誰でも大歓迎です。5月から始めてみて、今年は7回実施できました。

hack4perl.connpass.com

年末なので、サブタイトルのふりかえりをしてみたいと思います!

第1回

❯ perl -e '$_=($_=!$@).$/;s!.!print"#$_"!e'
#1

記念すべき1回目のサブタイトルは、Perlの特殊変数をふんだんに使ったワンライナーですね。空の$@ を論理否定をして、1を獲得しています。それ以外はお飾りです。

個人的お気に入り度: ★★★

第2回

❯ perl -e 'print"\x23\x32"'
#2

第2回のサブタイトルは、ただのASCIIコードです。

個人的お気に入り度: ★☆☆

第3回

❯ perl -E "say chr(ord('!')+2).int((ord('p')+2)/ord('#'))"
#3

第3回のサブタイトルは、2や#を材料に#3を作りました。#で割って、#が出てくるのがなんか良いなと。

個人的お気に入り度: ★★★

第4回

❯ perl -e "\$_='\$_=2;\$_*=\$_';eval;print"
4

第4回のサブタイトルは、2*2 をして4を表示しています。

個人的お気に入り度: ★☆☆

第5回

❯ perl -e "print ord('five') - ord('apples')"
5

第5回のサブタイトルは、five から5を作りました。ordで引いてるので、右辺に工夫があったら良かったですね。

個人的お気に入り度: ★★☆

第6回

❯ perl -e 'print+reverse oct+ord qq*\cF*'
Warning: Use of "oct" without parentheses is ambiguous at -e line 1.
6

第6回のサブタイトルは、\cF は制御文字のF、つまり、ACKから6を生成してます。ACKのアスキーコードが6です。アスキーコード便利ですね。

個人的お気に入り度: ★★☆

第7回

❯ perl -E "say sqrt(ord 'nana'=~/a/)"
7

第7回のサブタイトルは、nana から7を作りました。ord 1 は49でその平方根を取りました。妻の名前がnanaなのでお気に入りです。

個人的お気に入り度: ★★★★★★★

さいごに

各コードの解説はChatGPTにしてもらいました。