示例程序:

getopt.pl;

1
2
3
4
5
6
7
8
#!/usr/bin/perl -w
#use strict;
use Getopt::Std;
use vars qw($opt_a $opt_b $opt_c);
getopts('a:b:c');
print "opt_a =>;$opt_a\n" if $opt_a;
print "opt_b =>;$opt_b\n" if $opt_b;
print "opt_c =>;$opt_c\n" if $opt_c;

注释:'a:b:c',a和b后有冒号,表示-a,-b后面要跟参数.c后面没有冒号,表示-c后面不带参数.

而且-a,-b后所跟的参数分别赋给变量$opt_a和$opt_b,对于变量$opt_c,若命令行加了-c,则$opt_c=1,否则为0.

如:

perl getopt.pl -a aa -b bb -c cc

显示:

opt_a =>;aa
opt_b =>;bb
opt_c =>;1

如:

perl getopt.pl -a aa -b bb
opt_a =>;aa
opt_b =>;bb

(因为加了if判断,所以$opt_c没有显示);

上面的例子,用Getopt::Long可以这样实现

上面的例子,用Getopt::Long可以这样实现

getoptions.pl

1
2
3
4
5
6
7
#!/usr/bin/perl
use Getopt::Long;
use vars qw($opt_a $opt_b $opt_c);
GetOptions("a=s"=>\$opt_a,"b|opt_b:i"=>\$opt_b,"c"=>\$opt_c);
print "opt_a =>;$opt_a\n" if $opt_a;
print "opt_b =>;$opt_b\n" if $opt_b;
print "opt_c =>;$opt_c\n" if $opt_c;

a=s表示可以用-a aa的形式,即变量-a 类型是字符串b|opt_b:i表示可以用-b或者-opt_b来取得变量,类型为整型c表示如果有-c的参数值则$opt_c等于1,否则等于0

其中s表示字符串,i表整型,f表示浮点型=表示要有参数值或者没有这个参数如:perl getoptions.pl -a aa -b bb或者perl getoptions.pl -b bb:表示可有参数值也可以没有参数值如:perl getoptions.pl -a aa -b 2 -c ccopt_a =>;aaopt_b =>;2opt_c =>;1

Perl 模块 Getopt::Std 和 Getopt::Long相关推荐

  1. perl模块Getopt::Std用法及实例-从命令行读取参数模块

    Getopt::Std模块的使用: 初始设置: 在程序中加入如下代码: use Getopt::Std; use vars qw($opt_d $opt_f $opt_p); getopts('d:f ...

  2. getopt java_使用 Getopt::Std 的命令行开关

    用传统的 Unix 方式创建的简单用户界面 Unix 用户非常熟悉基于文本的 UI 模型.设想有一个 Perl 程序,让我们先看一下这个模型用于该程序的简单实现.标准的 Getopt::Std 模块简 ...

  3. python中getopt函数_python getopt模块详解

    getopt这个函数 就是用来抽取 sys.argv 获得的用户输入来确定执行步骤. getopt是个模块,而这个模块里面又有getopt 函数,所以getopt需要这样这样用. getopt.get ...

  4. perl模块的安装,查询

    perl模块的安装,查询 linux下cpan安装: # perl -MCPAN -e shell             // 一路回车配置cpan,个别地方需要输入 cpan> instal ...

  5. perl 模块使用范例

    已有模块: 说明: 以下例子代码的测试是在FreeBSD & Solaris下进行的,Perl版本为5.005_03. (1) LWP::Simple, get()  (2) Time::Hi ...

  6. Perl模块使用 = 简短例子代码集合(转帖)

    一些常用模块的简单描述 http://www.perldoc.com/perl5.6/pod/perlmodlib.html 在perl 中使用模块: 模块的下载地址:http://www.cpan. ...

  7. [经验总结]Perl模块使用 = 简短例子代码集合

    [原创] Perl模块使用 => 简短例子代码集合! http://www.chinaunix.net 作者:deathcult发表于:2003-09-04 14:59:54 [发表评论] [查 ...

  8. Perl模块使用 = 简短例子代码集合!

    Perl模块使用 => 简短例子代码集合! http://www.chinaunix.net/ 作者:deathcult 发表于:2003-06-06 17:32:55 如果你有模块使用范例(请 ...

  9. cpan安装_生信平台搭建(五):安装perl模块

    perl模块也是生物信息分析中经常需要配置的东西,尽管很多人觉得python很流行,但是依然有大量的生物软件依赖于perl模块,如果配置不正确就无法运行,典型的就是circos,里面调用大量perl的 ...

最新文章

  1. 扫描 VNC 的脚本
  2. 【Android】可以下拉刷新的webview,使你的webview效果更加好看,封装自己的WebView...
  3. egret键盘事件监听
  4. 怎么画单极交流放大电路波形图_珠海放大IC怎么样
  5. [转帖]ISE与Modelsim联合观察中间信号
  6. .xib .plist .pch
  7. sqlserver导入execl数据ACE.OLEDB.12.0错误
  8. SpringBoot之Idea不显示项目文件夹
  9. 什么是软件著作权,怎么申请软件著作权
  10. MATLAB实现自编码器(五)——变分自编码器(VAE)实现图像生成的帮助函数
  11. Python求绝对值的三种方法
  12. Ubuntu安装Google拼音
  13. 手把手教你接入微信开放平台,实现网站拉起微信账号登录,从0开始详细记录
  14. java对象为什么要重写equals方法
  15. 微信小程序学习(三):在微信开发者工具中,使用WeUI前端美化框架,微信小程序
  16. win32获取本地ip
  17. 百慕大将于下周宣布推出加密货币友好银行
  18. python 矩阵 将所有列向量合并成一个向量 将虚数矩阵转化为实数矩阵
  19. Qt入门教程【STL篇】QStack栈
  20. roboto css,css - Roboto font doesn't work in Firefox - Stack Overflow

热门文章

  1. C#学习基础---BrowsableAttribute.Browsable属性
  2. 微信开发第7章 通过accesstoken获取用户黑名单列表
  3. unity3d 中加入�视频
  4. 中兴路西藏北路到浦东国际机场路线(ddmap20100114)
  5. 2005毕业生薪酬预测女超男
  6. 学习网站的闪卡暴露了美军核机密
  7. F5紧急修复严重的 BIG-IP 预认证 RCE 漏洞
  8. 研究员轻松劫持2.8万台打印机
  9. CW3 Clarifications
  10. 【leetcode】931. Minimum Falling Path Sum