免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2772 | 回复: 4
打印 上一主题 下一主题

如何实现用PERL脚本+配置文件运行程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-22 16:43 |只看该作者 |倒序浏览
小弟有个问题:
我用PERL写了一个脚本,功能是执行一个TOOL,但这个TOOL 有许多参数(比如参数有-A  -B  -C  -D  -E 等)。例如
简单举例:TOOL  -A
               TOOL  -B
               TOOL  -C
               TOOL  -D
               TOOL  -E
当运行完“TOOL -A”后就开始运行“TOOL  -B”,运行完“TOOL  -C”后就开始运行“TOOL  -C”。。。。

所以在写的时候把参数都固定的写在里面。这样扩展性较差,不利于维护与修改。
我想能不能把所有的参数都写在一个配置文件里面,用PERL脚本加配置文件实现。
     不知道这样能否实现,希望高手指点一二。

论坛徽章:
0
2 [报告]
发表于 2010-06-22 16:59 |只看该作者
cpan Config::Std

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
3 [报告]
发表于 2010-06-22 21:50 |只看该作者
YAML
可以给你想要存的使用东西,写成 YAML后,使用 FileLoad 读进来,这样可以象操作一个普通引用一样使用它。非常方便

论坛徽章:
0
4 [报告]
发表于 2010-06-23 10:44 |只看该作者
不用模块感觉也不难啊,两步,
1, 读取文件,
2, 依次执行文件中的执行信息。

论坛徽章:
0
5 [报告]
发表于 2010-07-19 18:05 |只看该作者
这样?[tmn@linuxserver tmp]$ perl lx.pl prin.pl log
Hello A
Hello B
Hello C
Hello D
Hello E
  1. [tmn@linuxserver tmp]$ cat lx.pl
  2. #!/usr/bin/perl -w

  3. use strict;

  4. my $ur_program = shift;
  5. my $ur_data = shift;
  6. open(INPUT_FD,"$ur_data")||die "Can't open $ur_data $!\n";
  7. my $args="";
  8. while( defined($args=<INPUT_FD>) )
  9. {
  10.         chomp $args;
  11.         system("perl $ur_program -$args");
  12. }

  13. close(INPUT_FD);
复制代码
  1. [tmn@linuxserver tmp]$ cat prin.pl
  2. #!/usr/bin/perl -w

  3. use strict;

  4. my $args = shift;
  5. $args = substr($args,1,1);
  6. print "Hello ${args}\n";
复制代码
  1. [tmn@linuxserver tmp]$ cat log
  2. A
  3. B
  4. C
  5. D
  6. E
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP