ho una variabile che viene immesso al prompt:Aggiungendo una variabile stringa in una stringa fissa in Perl
my $name = <>;
Voglio aggiungere una stringa fissa '_one'
a questo (in una variabile indipendente).
E.g. se $name = Smith
allora diventa 'Smith_one'
Ho provato molti modi diversi, che non mi danno i giusti risultati, come ad esempio:
my $one = "${name}_one";
^La _one
appare sulla riga successiva quando ho stamparlo e quando Lo uso, il _one non è incluso affatto.
anche:
my $one = $name."_one";
^Il '_one'
appare nella parte inizio della stringa.
E:
my $end = '_one';
my $one = $name.$end;
or
my $one = "$name$end";
Nessuno di questi producono il risultato che voglio, quindi devo essere manca qualcosa legato al modo in cui l'ingresso è formattato dal prompt, forse. Idee apprezzate!
ahhh che è interessante circa il ritorno a capo personaggio - chomp risolve immediatamente il problema! Avevo provato anche quei metodi di aggiunta, senza fortuna - ma ora funzionano tutti! Grazie! – dgBP
Divertente; Stavo pensando quanto sia meglio usare '" $ {name} _one "' di costrutti awkward come '" $ name \ _one "' o '$ name. "_one" '. –
@ JonathanLeffler Grazie per la vostra modifica. A questo punto, mi trovo anche nel campo "$ {foo}' sintassi chiaro, non anacronistico di bash-ismo ", e che i miei suggerimenti originali erano peggiori. Ho modificato di conseguenza. – amon