2017-03-04 1 views
-2

J'essaie de lire l'entrée de deux chaînes à partir du clavier de l'utilisateur, de les stocker dans deux variables et de concaténer les deux chaînes ensemble à l'aide de l'opérateur Perls. Recherche J'ai trouvé en ligne montre un exemple similaire à ce que j'essaie d'accomplir. Cet exemple utilise une seule variable de chaîne dans l'enchaînement, mais je pense que quelque chose de similaire devrait pouvoir concaténer plusieurs variables ensemble:Erreur de concaténation de chaîne à l'aide de Perls Dot Operator

$name = checkbook'; 
$filename = '/tmp/' . $name . '.tmp'; 

#$filename now contains "/tmp/checkbook.tmp" 

(http://alvinalexander.com/perl/edu/articles/pl010003.shtml)

mon code est affiché dans ce qui suit - cependant, je suis obtenant encore la concaténation indésirable:

$stringa=<STDIN>; 
$stringb=<STDIN>; 
print $stringa.$stringb; 

compilé en utilisant perl (trajet)

sortie

 nein 
    ja 
    nein 
    ja 

au lieu de la sortie désirée:

nein 
ja 
neinja 

pourquoi je ne reçois pas la sortie de concaténation je pense qu'il devrait produire?

Répondre

1

Vous pouvez utiliser "Chomp" pour supprimer la chaîne de fuite "\ n", comme ceci:

$stringa=<STDIN>; 
$stringb=<STDIN>; 
chomp($stringa); 
chomp($stringb); 
print $stringa.$stringb; 
+0

Et probablement ajouter '. "\ n" 'après' $ stringb' dans l'instruction 'print' (ou ne pas chomp' $ stringb'). –