LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2092|回复: 1

perl中 <> @argv 的疑惑。

[复制链接]
发表于 2009-12-28 18:16:38 | 显示全部楼层 |阅读模式
my $what= shift @argv
while(<>){
       if(/\b($what)/){
       print "wo saw....beginning of $_"
      }
   }
各位大哥,我一问是<>得到的输入是@argv,那$what的呢?如果@argv只有一个元素,那么$what将获得其值,  <>的值 是不是要从标准输入中得到呢,如果@argv大于2个是不是第一个传给$what,其他的传给<>。
   可能表述不是很清楚,希望各位大哥不吝赐教。小弟在此拜谢。
发表于 2010-1-8 17:02:10 | 显示全部楼层
首先指出一个错误: 我想你本意是ARGV,不是argv吧;perl中区分大小写,这两个标志符是不同的。

$what 得到的是@ARGV 这个列表的第一个元素;
如果@ARGV只有一个元素,则$what得到这个元素,@ARGV为空,<>从终端读取;
如果@ARGV有多个元素,则$what得到这个第一个元素,其他的传给<>;

你可以分别用0个参数、1个或者多个参数调用你的脚本,看看表现就知道了  (-:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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