您的位置:首页 > 运维架构 > Shell

Shell向Perl脚本中传递变量的方法

2012-08-04 17:14 701 查看
方法一:

In shell using export to output a variable, and in perl using special variable %ENV to get shell's variables.

i.e.:

--- shell box---

$ \bin\ksh

# export x=Foo

# perl -e 'print $ENV{"x"}'

-------------

方法二:

象C一样,PERL也有存储命令行参数的数组@ARGV,可以用来分别处理各个命令行参数;与C不同的是,$ARGV[0]是第一个参数,而不是程序名本身。

$var = $ARGV[0]; # 第一个参数

$numargs = @ARGV; # 参数的个数

PERL中,<>操作符实际上是对数组@ARGV的隐含的引用,其工作原理为:

1、当PERL解释器第一次看到<>时,打开以$ARGV[0]为文件名的文件;

2、执行动作shift(@ARGV); 即把数组@ARGV的元素向前移动一个,其元素数量即减少了一个。

3、<>操作符读取在第一步打开的文件中的所有行。

4、读完后,解释器回到第一步重复。

例:

@ARGV = ("myfile1", "myfile2"); #实际上由命令行参数赋值

while ($line = <>) {

print ($line);

}

将把文件myfile1和myfile2的内容打印出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: