2010-07-27 2 views
-1
  1. Как напечатать количество аргументов из @ARGVPerl + @ARGV + печать синтаксиса

  2. по следующему сценарию, почему его важно для печати

как

print q {не имеют параметров};

И не как

печати "не имеют параметры"; ??

Lidia

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

Просьба уточнить, каков фактический вопрос. Вы хотите знать, что означает «q»? Вы не понимаете, почему работает код? Не работает ли код для вас? –

+0

Возможный дубликат [perl + идентифицировать, если параметр является пустым значением из ARG] (http://stackoverflow.com/questions/3341703/perl-identify-if-param-is-empty-value-from-arg) – Ether

ответ

2

Чтобы напечатать количество элементов в любом массиве в Perl:

print scalar(@ARGV); 

Использование q{} или одиночные кавычки '' означает, что строка будет получить кавычки, но НЕ интерполированное, что означает любой переменные, которые у вас внутри, не будут иметь их фактических значений. Это более быстрый способ создания строк, чем с двойными кавычками "" или qq{}, которые WILL интерполируют переменные в строке.

+1

Предоставление OP ссылка на руководство была бы полезной здесь: http://perldoc.perl.org/perlop.html – Ether

+0

'print ~~ @ ARGV' :) – ysth

0

кроме того, печать д {} является обобщающим для:

 
print 'don\'t have parameters' 

двойные кавычки означают ваша строка получает интерполированное. т.е.: perl-анализ, чтобы получить значения переменных . простых цитат не будет. Нет необработанного анализа -> быстрее, меньше памяти/процессора/любого использования

Смежные вопросы