Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1147984
  • 博文数量: 312
  • 博客积分: 12522
  • 博客等级: 上将
  • 技术积分: 3376
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-27 18:35
文章分类

全部博文(312)

文章存档

2016年(3)

2015年(1)

2013年(1)

2012年(28)

2011年(101)

2010年(72)

2009年(13)

2008年(93)

分类: IT业界

2011-07-13 23:35:07

方法一:

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的内容打印出来
阅读(2147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~