2010-07-27 61 views
-1
  1. 如何从@ARGVperl的+ @ARGV +打印语法

  2. 根据下面的脚本打印参数的数量为什么它的重要打印

打印q {没有参数};

,而不是作为

打印 “没有参数”; ??

利迪娅

#!/usr/bin/perl 
    if (@ARGV) { 
    print ...... 
    } else { 
    print q{don't have parameters}; 
    } 
+0

请澄清真正的问题是什么。你想知道“q”是什么意思吗?你不明白为什么代码有效?代码不适合你吗? – 2010-07-27 09:30:41

+0

[perl +如果param是来自ARG的空值,则可能会出现重复](http://stackoverflow.com/questions/3341703/perl-identify-if-param-is-empty-value-from-arg) – Ether 2010-07-27 14:52:08

回答

2

要打印的元素数量在任何数组中的Perl:

print scalar(@ARGV); 

使用q{}或单引号''意味着一个字符串,将得到报价,但并不是插补,这意味着任何你内部的变量将没有它们的实际值。这是创建字符串比用双引号""qq{}更快的方式,它将在字符串中插入变量。

+1

给予OP链接到手册在这里会有所帮助:http://perldoc.perl.org/perlop.html – Ether 2010-07-27 14:52:37

+0

'print ~~ @ ARGV' :) – ysth 2010-07-27 17:34:00

0

而且,打印q {}是的缩写:

 
print 'don\'t have parameters' 

双引号的意思是你的字符串被插。即:perl分析它以检索 变量值。 简单的引号不会。没有不必要的分析 - >更快,更少的内存/ CPU /任何使用