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箇所にまとまってしまうのですなぁ。恐るべし。