Comment concaténer des variables en Perl?
Est-il un autre moyen pour concaténer des variables en perl? Par accident, j'ai écrit la ligne de code suivante:
print "$linenumber is: \n" . $linenumber;
Et qui produit en sortie comme:
22 is:
22
Je m'attendais:
$linenumber is:
22
Alors je me demandais. Il doit être l'interprétation de la $linenumber
dans guillemets doubles comme une référence à la variable. (comment cool!)
Je me demandais simplement: Quelles sont les mises en garde à l'aide de cette méthode et ce que quelqu'un pourrait expliquer comment cela fonctionne?
- Techniquement, vous n'avez pas besoin de concaténer les variables, comme
print
peut prendre plus d'un argument.print '$linenumber is: \n', $linenumber;
fonctionne aussi bien. (Bien que vous devez être au courant de la variable intégrée$,
(voirman perlvar
). '$linenumber is: \n'
ne va pas faire ce que vous voulez 🙂
Vous devez vous connecter pour publier un commentaire.
Interpolation de Variable se produit lorsque vous utilisez les guillemets. Ainsi, les caractères spéciaux doivent être échappés. Dans ce cas, vous avez besoin pour échapper à la
$
:Il peut être réécrit comme suit:
Pour éviter chaîne d'interpolation, utilisez des guillemets simples:
"my $page = 12; print "$pagep."
), vous devez mettre le nom de la variable à l'intérieur d'accolades${...}
. I. e.print "${page}p."
J'aime
.=
opérateur méthode:En Perl toute chaîne qui est construit avec des guillemets doubles seront interpolées, de sorte que toute variable sera remplacée par sa valeur. Comme beaucoup d'autres langues si vous avez besoin d'imprimer un
$
, vous devrez échapper.OU
OU
Scalaire Interpolation
Si vous modifiez votre code de
à
ou
il permet d'imprimer
Ce que je trouve utile lorsque l'on veut imprimer un nom de variable est d'utiliser les guillemets simples, de sorte que les variables à l'intérieur ne sera pas traduit dans leur valeur de rendre le code plus facile à lire.
vous pouvez barre oblique inverse la
$
imprimer littéralement.qui imprime ce que vous attendiez. Vous pouvez également utiliser les guillemets simples si vous ne voulez pas de perl pour interpoler les noms de variables, mais alors le
"\n"
seront interpolées littéralement.Lors de la formulation de cette réponse, j'ai trouvé cette page web qui explique les informations suivantes:
Je pensais que ce serait utile à la communauté, alors je vous pose cette question et de répondre à ma propre question. Les autres réponses sont plus que bienvenus!