+ -
当前位置:首页 → 问答吧 → 新手请教,没有看明白@ARGV是什么意思

新手请教,没有看明白@ARGV是什么意思

时间:2010-08-20

来源:互联网

接触perl不久,师兄毕业后的一堆脚本就成了我的宝贵学习资源。
其中有一段,开头是$enter=$ARGV[0];$text=$ARGV[1];
我之前对@ARGV有点印象(好像是预定义变量吧),是不是还有单独用ARGV的。但是我又说不明白怎么用@ARGV和ARGV。
在这里请教下大家,谢谢。 请各位给我指个路~~

作者: shilin320   发布时间: 2010-08-20

命令行参数。
The array @ARGV contains the command-line arguments intended for the script.
这些基础问题,就要多看书少泡坛。

作者: 兰花仙子   发布时间: 2010-08-20

在小骆驼上没找着,呵呵,那我再翻翻吧~

作者: shilin320   发布时间: 2010-08-20

看个具体例子吧
  1. open IN,"$ARGV[0]";
  2. while(<IN>)
  3. {
  4.         chomp;
  5.         if(/>((\S+)(\s+\S+)?)$/)                           
  6.         {
  7.                 $gi=$1;                        
  8.         }
  9.         else
  10.         {
  11.                 $seq{$gi}.=$_;               
  12.                 $subseq=reverse $seq{$gi};
  13.                 $subseq=~tr/ATCG/TAGC/;
  14.                 print ">$gi\n";
  15.                 print "$subseq\n";
  16.         }
  17. }
  18. close IN;
复制代码
文件内容是很多行的>637010234 slr1194
                           AAATTGGTTAGGGCATGGG...
目的是要做文件中序列的互补链(位置先颠倒,再根据tr/ATCG/TAGC/互补交换)。
请问,这里面的"$ARGV[0]"具体是指?

作者: shilin320   发布时间: 2010-08-20

@ARGV, $ARGV, ARGV是不同的,参考perlvar

这是第1w水贴,发到perl来了。

作者: blackold   发布时间: 2010-08-20

真受不了,师兄一堆脚本就成你的学习资料了?
你应该去看书!

作者: flw   发布时间: 2010-08-20

回复 flw


学习资料和看书冲突么,不过也谢谢你的忠告。
这个问题我却是想弄清楚,看书了没找着(别的资料说的很含糊),所以就来问问。我知道问题可能浅显,但是对我(可能还有别的新手)就是个实用的帮助。
高手的一句话,可能会帮新手们少走很多弯路。      
但是,再厉害的高手也是一步步走过来的。也没必要这个口吻吧。
还有所谓啥水贴的,至少我的出发点不是为了灌水。诚心问个问题,有必要么。

如果能用高手们的炫耀换回一个答案,也是双赢的结果。打扰你们了。

作者: shilin320   发布时间: 2010-08-20

回复 shilin320


    我想LZ太过于敏感了。

   你说的“水帖“是指我的帖子吧。我是指我发的是水帖,而不是在说你。

   这是基本问题,楼上几位Perler已经给出参考资料了。对于基础问题,自己看书是最好的解决办法,问是无法解决的,作用微乎其微。

"如果能用高手们的炫耀"——措词不当吧。高手们,尤其是七八前就在这里混的高手,还不至于虚荣到这种地步。

  这些话可能你也不会理解。

   总之,没有人在笑话你,鄙视你。

作者: blackold   发布时间: 2010-08-20