perl + @ARGV + print синтаксис - PullRequest
0 голосов
/ 27 июля 2010
  1. Как вывести число аргументов из @ ARGV

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

как

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

А не как

print "нет параметров";??

Лидия

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

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

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

print scalar(@ARGV);

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

0 голосов
/ 27 июля 2010

более того, print q {} - сокращение от:

 print 'don\'t have parameters'

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...