#!/usr/bin/perl

use strict;
use warnings;
use GD::Image;
use GD::Barcode::QRcode;

my $text = shift || die "Usage: $0 <text> <png_file_to_save>\n";
my $file = shift || die "Usage: $0 <text> <png_file_to_save>\n";

generate_png($text, $file);

sub generate_png {
  my $text = shift;
  my $save_to = shift;

  my $qr = GD::Barcode::QRcode->new($text, {
    Ecc => 'M', Version => 9, ModuleSize => 2
  });

  open(F, "> $save_to") or die "Error saving $save_to - $!";
  binmode(F);
  print F $qr->plot()->png;
  close(F);
}

