IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

懒人运维 2010-04-14 13:33:46 累计浏览 7,018 次
本机暂存

Getopt::Std模块的使用:

初始设置:

在程序中加入如下代码:

use Getopt::Std;
use vars qw($opt_d $opt_f $opt_p);
getopts('d:f:p');
#注意上两行的参数要对应

[ 解释一下"d:f:p",d和f后有冒号,表示-d,-f后面要跟参数。p后面没有冒号,表示-p后面不带参数。
而且-d,-f后所跟的参数分别赋给变量$opt_d和$opt_f。对于变量$opt_p,若命令行加了-p,则$opt_p=1,否则为0]

举个例子就很清楚了:

cat file.pl
use Getopt::Std;
use vars qw($opt_d $opt_f $opt_p);
getopts('d:f:p');
 
print "\$opt_d => $opt_d\n" if $opt_d;
print "\$opt_f => $opt_f\n" if $opt_f;
print "\$opt_p => $opt_p\n" if $opt_p;

然后在命令行中运行:

perl file.pl -d 20040412 -f louiskoochen -p

可得到下列形式的输出:

$opt_d =>200040412
$opt_f =>louiskoochen
$opt_p =>1

这回大家知道Getopt::Std模块是怎么回事了吧:)

当然除了Getopt::Std模块外,还有Getopt::Long模块。从名字中也能看出该模块功能更强,用法更难! :mrgreen:

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. perl更新/修改/删除文本文件内容 (累计阅读 10,648)
  2. perl大牛flw传说 (累计阅读 7,714)
  3. AWStats是一个基于Perl的WEB日志分析工具。 (累计阅读 7,174)
  4. [Perl] Template::Toolkit 模板技术. (累计阅读 6,344)
  5. Perl命令行常见用法及技巧 (累计阅读 5,912)
  6. PHP将死,何以为继? (累计阅读 5,918)
  7. 在perl中连接和使用sqlite做数据存储 (累计阅读 5,811)
  8. Perl 倒行分析文件方法。perl读文本文件,从末尾往前读. (累计阅读 5,608)
  9. perl的expect使用方法,实现非交互式登录。 (累计阅读 5,486)
  10. perl模块之MIME::Lite发送有附件的邮件 (累计阅读 5,334)