找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17304|回复: 3

[问题求助] perl模块问题

[复制链接]
发表于 2018-11-15 09:13:03 | 显示全部楼层 |阅读模式
我在自己的模块aa.pm中引用了getopt:long,在别的脚本调用这个perl模块时该如何把所有参数传递过去?
发表于 2018-11-15 10:04:49 | 显示全部楼层
本帖最后由 523066680 于 2018-11-15 10:19 编辑

回复 1# Mekel


    在 模块中要共享的变量使用 our 声明,例如官方Getopt::Long示例的三个变量
  1. our $data   = "file.dat";
  2. our $length = 24;
  3. our $verbose;
复制代码
在脚本中使用 $模块名::变量名 访问
$aa::data
$aa::length

或者在 aa.pm 中建立一个函数,通过这个函数返回所有相关参数的{哈希表}。
 楼主| 发表于 2018-11-16 13:26:40 | 显示全部楼层
回复 2# 523066680


  多谢, 参数是能够完美传递的,即使不加our,因为我原函数里有$a=shift这样的语句,写pm里就要写成$a=shift @ARGV才行
发表于 2018-11-16 14:26:56 | 显示全部楼层
本帖最后由 523066680 于 2018-11-16 14:29 编辑

回复 3# Mekel

初看描述以为是想要把自建模块里的变量往外传。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:27 , Processed in 0.016839 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表