La concaténation de chaîne en perl
Je suis en train de concaténer dans cette chaîne de perl: "/.hush_profile";
Je reçois un problème lorsque je ajouter "/" dans la chaîne. J'ai essayé de s'échapper, mais qui ne fonctionne pas, soit.
Voici ma ligne de code de problème:
#!/usr/bin/perl -w
use strict;
my($fileloc, $home_dir);
$home_dir = $ENV{"HOME"};
$fileloc = $home_dir;
$fileloc .= "/.hush_profile";
Merci pour toute aide que vous pouvez me donner!
Quel est le problème?
Il refuse de les concaténer. La variable est livré vide.
Et $fileloc a une valeur pour commencer donc, je ne suis pas en train de concaténer la valeur null.
Donc, vous dites que le suivant ne fait rien:
Oui, vous devez montrer que le code minimal qui reproduit le problème. Êtes-vous à l'aide de
Il refuse de les concaténer. La variable est livré vide.
Et $fileloc a une valeur pour commencer donc, je ne suis pas en train de concaténer la valeur null.
Donc, vous dites que le suivant ne fait rien:
my $fileloc = "something"; $fileloc .= "/.hush_profile"; print $fileloc, "\n";
? Si que fonctionne, alors vous avez besoin de montrer plus de code.Oui, vous devez montrer que le code minimal qui reproduit le problème. Êtes-vous à l'aide de
use strict; use warnings;
?OriginalL'auteur Jonathan Zinck | 2012-11-12
Vous devez vous connecter pour publier un commentaire.
Cette adaptation de votre code me donne le résultat attendu:
De sortie:
Même si je unset
$HOME
dans l'environnement, je reçois quelque chose:Ce qui se passe à Perl 5.12.1 sur RHEL 5 (x86/64), mais j'obtiens la même chose avec Perl 5.8.8 sur la même plate-forme.
La solution était aussi simple que ça en a l'air. J'ai eu une petite erreur de syntaxe que j'ai pris quand j'ai regardé ton code et de le comparer à la mienne.
Il arrive; la malchance. Je suis content que cela a aidé.
OriginalL'auteur Jonathan Leffler