Inzigato da dei marchettari ho dato un’occhiata al mondo dei codici a barre in 2D, in particolare alle possibili applicazioni di community che sembra vadano per la maggiore in giappone.
La prima cosa che ho scoperto è che esistono veramente una marea di codifiche ma le più usate sono Datamatrix e, soprattutto, QRcode. Da li a buttar giù due righe in perl il passo è stato breve.
(Il modulo perl è fatto bene ma non ho capito come mai durante l’init se il parametro di “versione” non è definito viene impostato ad 1 mentre più avanti viene invocata la procedura di calcolo automatico della versione solo se lo stesso non è definito… nel dubbio ho risolto togliendo un “|| 1” dall’init del modulo.)
A questo punto generare QRcode è banale, ad esempio con un cgi:
#!/usr/bin/perl
use CGI;
use GD::Barcode;
my $q = new CGI;
my $str = 'Hello World!';
if ($q->param()) { $str = $q->param('s'); }
my $oGdBar = GD::Barcode->new('QRcode', "$str" , { Ecc => 'M', ModuleSize => 6 });
print "Content-type: image/png\n\n";
binmode STDOUT;
print $oGdBar->plot()->png;
Per chi volesse approfondire sicuramente le pagine più interessanti che ho trovato wikipedia e la pagina di descrizione dei contenuti dei barcode dell’implementazione di google nelle sue Chart API. Molto interessanti anche le pagine descrittive di denso-wave detentore del marchio.