• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Perlgetopts

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

getopts的使用问题

#!/usr/bin/perl

#execute ABC.pl -s 999 -g -t

use Getopt::Std;

getopts('s:t:g:',\%opts);

foreach my $key ( keys %opts){

  print $key,"-->;",$opts{$key},"\n";

}

-------------------------------------

注意看getopts('st:g:');
t:
g:
這兩參數後面有 ":"
表示這兩個參數,
如果有就一定要帶參數...例如-t 100 -g 200
而s後面沒有":"
表示s後面不能帶任何參數...只能用
-s或 沒有,如果你帶了參數-s 1..後面的參數便會受到影響..

-------------------------------------

#!/usr/bin/perl

# script is "./g"

use Getopt::Std;

%options=();####################是perl的hash数据结构

getopts("od:fF",\%options);

[ 解释一下"od:fF",d后有冒号,表示-d后面要跟参数。ofF后面没有冒号,表示-o -f -F后面不带参数。

而且-d后所跟的参数分别赋给变量$options{d}。对于变量$options{o},$options{f},$options{F},若命令行加了-o,则$options{o}=1,否则为0。-f,-F类似]

# like the shell getopt, "d:" means d takes an argument

print "-o $options{o}\n" if defined $options{o};

print "-d $options{d}\n" if defined $options{d};

print "-f $options{f}\n" if defined $options{f};

print "-F $options{F}\n" if defined $options{F};

print "Unprocessed by Getopt::Std:\n" if $ARGV[0];

foreach (@ARGV) {

  print "$_\n";

}

-------------------------------------

shift ARRAY

shift

这个函数把数组的第一个值移出并且返回它,然后把数组长度减一并且把所有的东西都顺移。如果在数组中不再存在元素,它返回 undef。

如果省略了 ARRAY,那么该函数在子过程和格式的词法范围里移动 @_;它在文件范围(通常是主程序)里移动 @ARGV。 子过程通常以拷贝它们的参数到词法变量里开始,而 shift 可以用于这个目的

总之就是shift没有数组作为参数时,就是移动@_这个默认的参数。

-------------------------------------

http://search.cpan.org/~nwclark/perl-5.8.5/lib/Getopt/Std.pm


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
perl与中文信息处理发布时间:2022-07-22
下一篇:
一段用来清除C++/C代码中空白行的perl脚本发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap