use v5.14;
use warnings;
use v5.12以上で暗黙のuse strict を含む。
use open ':std', IN => ':encoding(UTF-8)', OUT => ':utf8';
入力に:utf8 を指定するのはセキュリティ上問題がある。
use Getopt::Long qw(HelpMessage VersionMessage :config posix_default no_ignore_case bundling);
-? の代わりに-h を使いたい、-v を--version ではなく--verbose に使いたいため、auto_help, auto_version は使わず。