4
A
回答
0
我這樣做的方式是利用Getopt::Std
從命令行參數中找到-h
標誌。
use strict;
use warnings;
use Getopt::Std;
my %args;
getopts('h', \%args);
my $help = "help goes here. You can use
more than one line to format the text";
die $help if $args{h};
# otherwise continue with script...
一個更復雜的方法是使用POD::usage
,雖然我沒有親自嘗試這種方式。
10
考慮Getopt::Long加Pod::Usage。我寫CLI工具通常的模式:
#!/usr/bin/env perl
# ABSTRACT: Short tool description
# PODNAME: toolname
use autodie;
use strict;
use utf8;
use warnings qw(all);
use Getopt::Long;
use Pod::Usage;
# VERSION
=head1 SYNOPSIS
toolname [options] files
=head1 DESCRIPTION
...
=cut
GetOptions(
q(help) => \my $help,
q(verbose) => \my $verbose,
) or pod2usage(q(-verbose) => 1);
pod2usage(q(-verbose) => 1) if $help;
# Actual code below
2
看看https://github.com/qazwart/SVN-Watcher-Hook/blob/master/svn-watch.pl。我使用一種技術來組合Getopt::Long
模塊和Pod::Usage
模塊。
主要的動作中的行97至106和線108通過110
發生的Getopt::Long
是使用,因爲它處理命令行參數可方便一種非常常見的模塊。使用Pod文檔更爲罕見。但是,所有CPAN模塊和內置模塊中的所有Perl均使用Pod文檔,因此如果您不知道,請致電learn it。 POD並不是很難學,它是內置於Perl中的,因此所有Perl程序都可以自行記錄。您可以使用perldoc
命令打印任何程序的POD文檔。試試這個:
$ perldoc File::Find
您還可以使用pod2html
,pod2text
和其他類型的轉換命令打印POD文檔轉換成HTML等
之前,我知道POD,我會把這樣的事情在我的程序的頂部:
########################################################
# USAGE
#
my $USAGE =<<USAGE;
Usage:
foo [ -baz -fu <bar>] [-help]
where:
baz: yadda, yadda, yadda
fu: yadda, yadda, yadda
help: Prints out this helpful message
USAGE
#
######################################################
然後,在我的計劃,我可以這樣做:
if ($help) {
print "$USAGE\n";
exit 0;
}
這樣,有人可以查看代碼並閱讀使用文本。這也將與使用-help
參數時打印出的文本相同。
3
易於使用:
if($ARGV[0] eq '-h' || $ARGV[0] eq '-help')
{
help();
exit;
}
sub help { print "My help blah blah blah\n";
}
相關問題
- 1. 將命令行工具的使用幫助添加到README.rst
- 2. UNIX加入命令幫助?
- 3. 需要幫助將API PUT方法添加到Python腳本
- 4. 需要幫助將鏈接添加到此腳本
- 5. 如何將幫助方法添加到shell腳本中?
- 6. 命令未找到:nodemon ---需要幫助將目錄添加到PATH
- 7. Unix/Windows腳本幫助:將命令行參數從Windows傳遞到Unix
- 8. AWK命令幫助
- 9. Python幫助命令
- 10. 將shell腳本中的命令添加到歷史記錄中?
- 11. 如何將tar命令添加到備份腳本
- 12. 批處理文件幫助 - 將命令的輸出添加到csv文件
- 13. 添加幫助內容,使用命令框架的搜索幫助
- 14. 幫助將屬性添加到LinqToSql類
- 15. 將插件添加到Java ImageWriter幫助
- 16. 將「幫助」消息添加到字段
- 17. 將幫助添加到JFrame槳
- 18. optparse-applicative子命令幫助文本
- 19. powershell腳本文件重命名幫助
- 20. Expect腳本幫助 - 從發送命令捕獲數據
- 21. 需要使用bash命令的python腳本幫助
- 22. 在bash腳本和awk命令中需要幫助
- 23. 添加CSS到jquery幫助
- 24. 需要幫助將腳本引擎加載到卡拉夫
- 25. 添加使用命令替換的腳本/命令/別名
- 26. shell腳本幫助
- 27. ajax腳本幫助
- 28. Bash腳本幫助
- 29. Shell腳本幫助
- 30. FAQ腳本幫助