2010-07-27 4 views
-1
  1. Comment imprimer le nombre d'arguments de @ARGVperl + @ARGV + print syntaxe

  2. selon le script suivant pourquoi il est important d'imprimer

comme

print q {n'a pas de paramètres};

Et pas

impression "ne pas les paramètres"; ??

Lidia

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

Veuillez clarifier la question. Voulez-vous savoir ce que "q" veut dire? Vous ne comprenez pas pourquoi le code fonctionne? Le code ne fonctionne pas pour vous? –

+0

duplication possible de [perl + identifier si param est la valeur vide de ARG] (http://stackoverflow.com/questions/3341703/perl-identify-if-param-is-empty-value-from-arg) – Ether

Répondre

2

Pour imprimer le nombre d'éléments dans un tableau Perl:

print scalar(@ARGV); 

L'utilisation q{} OU guillemets simples '' signifie qu'une chaîne va se cité mais pas interpolées, ce qui signifie tout les variables que vous avez à l'intérieur n'auront pas leurs valeurs réelles. C'est un moyen plus rapide de créer des chaînes qu'avec des guillemets "" ou qq{} qui va interpoler les variables dans la chaîne.

+1

Donner le OP un lien vers le manuel aurait été utile ici: http://perldoc.perl.org/perlop.html – Ether

+0

'print ~~ @ ARGV' :) – ysth

0

En outre, impression q {} est un raccourci pour:

 
print 'don\'t have parameters' 

guillemets doubles signifient votre chaîne s'interpolée. ie: perl l'analyse pour récupérer valeurs variables. des guillemets simples ne le seront pas. Pas d'analyse non requise -> plus rapide, moins de mémoire/CPU/quel que soit l'usage