2010-07-27 100 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 /任何使用