如何在perl cgi中制作QR码

时间:2012-08-16 05:01:31

标签: perl qr-code

我正在尝试创建一个网站,其中包含供人填写的表单,当用户按下提交按钮时,每个表单字段中的文本将连接成一个文本字符串,用于制作QR代码。我怎么能这样做,哪种语言最适合大多数浏览器兼容。

此外,我希望文本字段有一个与之关联的新行(\ n),以便在用户扫描QR代码时使格式更加美观。

请让我知道..在此先感谢..您是否可以包含一个网站的示例代码,该网站有三个文本区域可以连接?

1 个答案:

答案 0 :(得分:5)

Imager::QRCode模块让这一切变得简单。我只是在5分钟内敲了下来。

#!/Users/quentin/perl5/perlbrew/perls/perl-5.14.2/bin/perl

use v5.12;
use CGI; # This is a quick demo. I recommend Plack/PSGI for production.
use Imager::QRCode;

my $q = CGI->new;
my $text = $q->param('text');
if (defined $text) {
    my $qrcode = Imager::QRCode->new(
        size          => 5,
        margin        => 5,
        version       => 1,
        level         => 'M',
        casesensitive => 1,
        lightcolor    => Imager::Color->new(255, 255, 255),
        darkcolor     => Imager::Color->new(0, 0, 0),
    );
    my $img = $qrcode->plot($text);
    print $q->header('image/gif');
    $img->write(fh => \*STDOUT, type => 'gif')
        or die $img->errstr;
} else {
    print $q->header('text/html');
    print <<END_HTML;
<!DOCTYPE html>
<meta charset="utf-8">
<title>QR me</title>
<h1>QR me</h1>
<form>
    <div>
        <label>
            What text should be in the QR code?
            <textarea name="text"></textarea>
        </label>
        <input type="submit">
    </div>
</form>
END_HTML
}
  

我怎么能这样做,哪种语言最适合大多数浏览器兼容。

如果它在服务器上运行,那么您只需要确保输出在浏览器之间兼容;所以使用GIF或PNG。

  

你可以包含一个网站的示例代码,该代码有三个文本区域可以连接吗?

只需使用.在Perl中连接字符串变量。

my $img = $qrcode->plot($foo . $bar . $baz);