鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

Pod::Usageに感動した・・・・

perlでツールを作ったとき、そのツールの使い方を-hオプションで表示させるようにしています。

Pod::Usageを使わないBeforeコードは、こんな感じです。

#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;

my $message = << '&EOT&';
# Usage: Hoge.sh [-h] file [...]
&EOT&

my $help;    
GetOptions(
"h"   => \$help,
);

if ( $help){
    print $message;
    exit 0;
}


__END__

=head1 SYNOPSIS

Hoge.sh [-h] file [...]

これをPod::Usageを使うようにしてみると・・・

#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;

my $help;    
GetOptions(
"h"   => \$help,
);

if ( $help){
    pod2usage(0);
}

__END__

=head1 SYNOPSIS

Hoge.sh [-h] file [...]

1箇所にまとまってしまうのですなぁ。恐るべし。