转自:
http://www.cnblogs.com/zjking99/articles/2117258.html
示例程序:
getopt.pl;
#!/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可以这样实现
getoptions.pl
#!/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 cc
opt_a =>;aa
opt_b =>;2
opt_c =>;1
分享到:
相关推荐
离线安装包,亲测可用
离线安装包,亲测可用
要在项目中使用getopt,您可以通过以下方式将其作为依赖项添加到rebar.config文件中: { deps , [ { getopt , " 1.0.2 " } ]}用法getopt模块提供四个功能: parse ([{ Name , Short , Long , ArgSpec , Help }], ...
通过阅读和分析提供的代码,可以更深入地了解`getopt`和`getopt_long`的工作方式,同时也可以学习如何在自己的程序中使用它们来优雅地处理命令行参数。这不仅有助于提高代码的可读性和可维护性,还能使程序更加符合...
win10 vs2019下的 getopt及getopt_long getopt/getopt_long函数是GNU C中的函数
装mysql时提示少perl,安装perl需要依赖包。已包含下面所有包, 版本号匹配。 [Linux]centOS7下RPM...perl-Getopt-Long-2.40-2.el7.noarch 4:perl-5.16.3-286.el7.x86_64 kernel-devel-3.10.0-327.10.1.el7.x86_64
bibfetch.{pl,el} 这些脚本允许在Google Scholar和上搜索BibTeX条目,并...random-perl ) Pod::Usage (包含在perl-modules ) Getopt::Long ( libgetargs-long-perl ) List::Util (在perl-base ) bibfetch.el需要 E
`getopt` 是一个库函数,用于解析程序启动时的命令行选项,而 `getopt_long` 是 `getopt` 的扩展版本,增加了对长选项的支持,使得命令行参数的使用更加灵活和易读。 `getopt.h` 是头文件,包含了 `getopt` 函数的...
getopt支持短(-s)和长(--long)选项,标志和帮助生成。 例子: 这是一个显示大多数功能的简单示例: # include # include < getopt> int verbose = 0 ; // verbose flag static const getopt_option_t option...
`getopt 函数说明.doc` 文件应该包含了 `getopt` 和 `getopt_long` 函数的详细使用说明,包括它们的原型、参数、返回值以及如何处理错误情况等。通常,这份文档会指导开发者如何初始化选项列表,如何处理返回值,...
在"perl-tools-master"中,可能包含了一些常用的Perl模块,如`Text::Diff`用于比较文本文件,`Data::Dumper`用于调试时打印数据结构,或`Getopt::Long`用于处理命令行选项。 3. **Perl调试器**:Perl的调试工具,如...
【标题】:“水晶-getopt:Python getopt函数在Crystal语言中的实现” 【正文】: 水晶-getopt是基于Crystal编程语言的一个库,它为Crystal开发者提供了一种处理命令行参数的便捷方式,灵感来源于Python中的getopt...
该模块提供了一个与 Getopt::Long 类似的接口,带有一些额外的扩展和语法现代化。 安装 要安装此模块,请运行以下命令: perl Build.PL ./Build ./Build test ./Build install SUPPORT AND DOCUMENTATION 安装后,您...
GNU libc提供了getopt和getopt_long用于解析命令行参数,使用方便,但是windows环境没有提供。故将GNU libc提供的源码稍加修改,整理出了windows下可用的getopt和getopt_long。
`getopt`和`getopt_long`函数是C语言标准库中用于解析命令行参数的两个重要工具,它们能帮助我们方便地获取和处理用户在执行程序时传递的参数。 `getopt`函数是最基础的命令行参数解析函数,它按照一定的顺序(通常...
名称Getopt::Mini - 又一个 Getopt 模块版本版本 0.01用法规则: * -<char> does not consume barewords (ie. -f, -h, ...)* -<str> * --<str> <bareword> will eat up the next bare word (-type f,
在 Go 语言中,标准库 `flag` 包提供了基本的命令行参数处理功能,但`go-getopt` 提供了更灵活的选项定义和解析方式,允许开发者自定义选项前缀、短选项和长选项,并且可以更方便地处理组合选项。 **用法** 在 `go...
perl v5.16.3 centos7 rpm安装依赖包 解压后 tar -zxvf perl-5.16.3.tar.gz 包括27个rpm文件和一个安装脚本,直接执行perl_install.sh既可安装
GNU GetOpt的Java端口 gnu.getopt/java-getopt/1.0.13/java-getopt-1.0.13.jar
纯Bash实现的GNU getopt是Linux和Unix系统中命令行参数解析的一种解决方案。在Linux环境中,getopt函数通常用于解析命令行选项,它遵循POSIX标准,并在C语言中实现。然而,`pure-getopt`项目提供了一个完全用Bash...