The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

#!perl
use 5.020;
use feature 'signatures';
no warnings 'experimental::signatures';
use utf8;
use Term::QRCode::Compact 'qr_code_as_text';
GetOptions(
'charset|c=s' => \my $charset,
);
=head1 NAME
qrencode - qr-encode input
=head1 OPTIONS
charset|c - output charset, allowed are ascii or utf8
=cut
$charset //= 'utf8';
if( $^O eq 'MSWin32' ) {
require Win32::Console;
Win32::Console::OutputCP(65001);
}
binmode STDOUT, ':encoding(UTF-8)';
print qr_code_as_text(
text => $ARGV[0]
, charset => $charset
);