Warum wird ein Variablenname gefolgt von einem Unterstrich bei der String-Interpolation in Perl nicht korrekt ausgewertet?

7

Warum wird ein Variablenname gefolgt von einem Unterstrich bei der Stringinterpolation in Perl nicht korrekt ausgewertet?

%Vor%     
Shahriar 21.08.2011, 11:02
quelle

4 Antworten

23

Zusätzlich zu den anderen Antworten können Sie die alternative Syntax zum Angeben von Variablen verwenden:

%Vor%

Beachten Sie die Verwendung geschweifter Klammern: { und } , um den Variablennamen anzugeben. Im Zweifelsfall können Sie sich für diese Syntax entscheiden.

    
Alan Haggai Alavi 21.08.2011 11:18
quelle
18

$i_ ist ein gültiger Bezeichner, also versucht es, den Wert dieser Variablen zu drucken (die Sie nicht festgelegt haben, also ist es undef ).

Aktivieren Sie strict und warnings .

    
Mat 21.08.2011 11:06
quelle
7

Mat hat Recht. Wenn Sie diesen Unterstrich unmittelbar nach dem Wert benötigen, verwenden Sie den umgekehrten Schrägstrich: "$i\_" .

    
Itamar 21.08.2011 11:11
quelle
3

Verwenden Sie immer diese:

%Vor%     
shawnhcorey 21.08.2011 12:31
quelle