在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4910|回复: 2

[原创] Perl脚本Usage的三种实现方法,总有一种是你没用过的

[复制链接]
发表于 2017-3-7 23:23:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 duchuixinhu 于 2017-3-8 19:10 编辑

第一种使用Here文档输出Usage.






#!/usr/bin/perl  


if($ARGV[0] =~ /-h/) {

    &Usage;

}




#所谓here文档,则是指一段嵌入于用户自定义标签中的文本块,其中第一个标签必须以<<开头。




sub Usage {

print <<End ;

The scripts is $0;

Usage:  

     $0 -f input.txt  -o output.txt

               -h/help     # print the Usage;

End

}




输出结果如下:




? >>> ./help1.pl -help

The scripts is ./help1.pl;

Usage:  

     ./help1.pl -f input.txt  -o output.txt

                -h/help     # print the Usage;




第二种使用die语句输出Usage.






#!/usr/bin/perl

#首先需要定义Usage变量,变量可以包含换行等。

$Usage = "

The scripts is $0;

Usage:  

     $0 -f input.txt  -o output.txt

                -h/help     # print the Usage;

";


if($ARGV[0] =~ /-h/) {

    die "$Usage";

}





输出结果如下:






>>> ./help2.pl -help


The scripts is ./help2.pl;

Usage:  

     ./help2.pl -f input.txt  -o output.txt

                -h/help     # print the Usage;





第三种使用perldoc/pod2text 输出Usage. 使用这种Usage,会让程序显得"高大上"。







#!/usr/bin/perl


chomp($dir = `pwd`);

if($ARGV[0] =~ /-h/) {

  #system "perldoc $dir/help3.pl";

  system "pod2text $dir/help3.pl";

}


#在__END__之后的都是这个perl脚本的说明部分,不再影响perl脚本的运行。


__END__



=head1 NAME


help3.pl - perldoc/pod2text shows Usage.


=head1 Usage


help3.pl -f input.txt -o output.txt        

         -h/hepl  # print the Usage.





输出结果如下:





>>> ./help3.pl -help

NAME

    help3.pl - perldoc/pod2text shows Usage.


Usage

    help3.pl -f input.txt -o output.txt -h/hepl # print the Usage.








在32768Hz公众号中回复“视频” 获取perl视频教程

qrcode_for_gh_d79c9dcc6b18_344.jpg

[size=0em][size=0em]
 楼主| 发表于 2017-3-8 15:55:25 | 显示全部楼层
抱歉,本来对代码的格式进行了渲染,但没想到eetop并不支持这种渲染。
正常渲染网页如下:
http://mp.weixin.qq.com/s/O8A9p6o1Z0x8Y8lenlkgQg
发表于 2017-5-28 20:43:47 | 显示全部楼层
学习了,有意思,多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-20 00:52 , Processed in 0.017450 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表