perl で QRcode生成

perlは本当にスゲー。こんなのないかな、あるかな、と思ったら、ほとんどすでにCPANに登録されている。ほかの lightweight language の状況は知らないので比較できないけど、perlがあればほとんど用が足りてしまうんじゃないか。
てことで、QRコードの生成。
創作文芸見本誌会場HappyReadingのスマホ版を作ったことだし、スマートフォンで見てもらえるように、誘導したい、というのが目的。スマートフォンでちまちまURLを入力するのはうっとーしーんで、QRコードの出番だろう、と。
レンタルサーバーのlolipopには GD モジュールと一部の関連モジュールはインストールされているらしい。ただ、ここで肝心の、QRコードがインストールされていないので、CPANからもってきた。
CPAN http://search.cpan.org/~kwitknr/GD-Barcode-1.15/
↑これをダウンロードして解凍展開。中を見ると、何かをコンパイルするワケでもなく、ただ所定のディレクトリにコピーしてるだけの pure perl モジュール。そのままlolipopにFTPでアップロードしたら、問題なく使えた。
use GD::Barcode::QRcode;
binmode STDOUT;
print qq{Content-type: image/png\n\n};
print GD::Barcode::QRcode->new(STRING,
{Ecc=>M, Version=>10, ModuleSize=>2})->plot->png;
コードは、これだけ。
STRINGの部分にURLとかテキストを入れる。日本語もOKだけど、検索してみると、ガラケーはSHIFT JIS なので、文字コードを SHIFT JIS にしていることが多い。
これで、QRコードの画像 png を出力してくれるので、img タグに、このスクリプトのURLを書いておけばいい。ちょっと調べたのがQRコードの仕様。
ECC というは、エラー修復レベル。
アウトドアなど汚れ・破損が激しそうなところで使う場合には Hレベル(修復30%)、などなど修復できるレベルがあるので、それを指定する。
ModuleSize というのは、文字通りセルサイズ。
ひとつひとつのセルのサイズを指定できる。
Version・型番というのはセル構成=セル数。
1~40まであって、大きいほど記録する文字数が増える。
て、ウチみたいな素人ヨタ話のブログを見るより、開発者の一次情報を確認しましょう。
画像を生成して表示するのに、ほんの少し時間がかかるので、サイトではajaxを使ってスクリプトを呼び出すようにした。情報としては、URLとサークル名、本のタイトル。
スマホのQRコードで読み取って、URLに飛ぶとその本のページが開く。おお、これは便利だ。便利なはずだ。きっと。だがしかし。
QRコードの活用例として、流通の現場で商品の確認とか、製造の現場での商品トレースとか、バス停で時刻表とか、有効に活用されている。たとえば、WEBへ誘導するのに、チラシや名刺にQRコードがプリントされていたら便利。だけど、サイト上にQRコードを表示して、さてそれってどうなの?PCでサイトを見ていて、そのページをスマートフォンでも見てみたい、というリクエストがそんなにあるとは思えない。
QRコードが使えるのでとりあえずつけてみました感が漂う。
WEBサイト上にQRコードが表示してあって、こいつは便利だぜ、待ってたぜ、という事例があったら、ぜひ教えてください。

