Thread kleine Schönheitsfehler Ausbesserung (4 answers)
Opened by Wild.Card at 2017-06-18 13:47

Linuxer
 2017-06-18 19:09
#186698 #186698
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Bei Dir fehlt in der Ausgabe durch Zeile 19 ja nicht nur das @, sondern das '@perl'.

Solange Du "" verwendest, werden darin Variablen und das was wie eine solche ausschaut, interpoliert.
Da helfen auch keine einfachen Hochkommata innerhalb des Strings.

Wenn Du die Interpolation nicht willst, musst Du entweder '' verwenden oder das Sonderzeichen @ maskieren.

Mögliche weitere Alternativen:

print akzeptiert Listen; Du kannst also auch sowas machen:
Code (perl): (dl )
print $email, ' adam@example.org', "\n";


Damit wird $email interpoliert, die Emailadresse mit vorangestelltem Leerzeichen wird als String gewertet, und als letztes Element wird ein Newline angefügt (\n funktioniert ebenfalls nicht innerhalb '').


Oder Du schreibst die Adresse in eine eigene Variable und lässt diese interpolieren.

Code (perl): (dl )
1
2
3
4
my $what  = 'E-Mail';
my $email = 'adam@example.org';

print "$what = $email\n";



Oder Du legst die Daten (vor allem wenn es mehr werden) in einem Hash ab:

Code (perl): (dl )
1
2
3
4
5
6
7
my %data = (
  'E-Mail' => 'adam@example.org',
);

while ( my ( $k, $v ) = each %data ) {
  print "$k = $v\n";
}



Alle Varianten haben aber gemeinsam, dass Du Dich um das korrekte Quoting für die Email-Adresse über die genannten Maßnahmen selbst kümmern musst.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread kleine Schönheitsfehler Ausbesserung