Forum Programmation.perl Caractère special "@"

Posté par  .
Étiquettes : aucune
0
19
juin
2007
Bonjour,

Comment insérer @ dans une variable scalaire pour que ce ne soit pas pris comme un tableau ?

Exemple de code de test.pl :
#!/usr/bin/perl -w

my $chaine ="user@hostname.com";
print $chaine

message d'erreur :
$ perl test.pl
Possible unintended interpolation of @hostname in string at test.pl line 3.
Name "main::hostname" used only once: possible typo at test.pl line 3.

Merci de votre aide
  • # Il faut echapper....

    Posté par  . Évalué à 3.

    .... avec un antislash \

    ce qui donne :

    my $chaine ="user\@hostname.com";
  • # .

    Posté par  . Évalué à 4.

    Tu as deux solutions :
    - soit tu échapes ton @ :

    my $chaine = "user\@hostname.com;


    - Soit tu utilises les simples quotes, qui eux ne tente pas d'interpréter le contenu de la chaine de caractere pour y detecter les variables :

    my $chaine = 'user@hostname.com';


    Cette méthode est plus lisible, mais tu ne peux pas inserer les caractèeres '\n', '\t' ... vu qu'ils ne sont pas interprété (cela affichera \n, \t au lieu d'un saut de ligne, d'une tabulation..)
    • [^] # Re: .

      Posté par  . Évalué à 1.

      Merci
      Est-ce que l'anti slash fonctionne pour tout les meta caractères ??

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.