Stefan Bach: Spaces beim schreiben einer Datei -> woher kommen die!?!?

Beitrag lesen

Hallo,

open(INFO, ">info.dat") || die "Error while opening the datafile!\n";
print INFO "@info";
close(INFO);

Wenn du auf diese Art ein Array im Scalaren Kontext verwendest, dann werden die einzelnen Elemente getrennt durch den Inhalt von $`` hintereinandergeschrieben. Infos findest du in perlvar:

| $LIST_SEPARATOR
| $``
|     This is like $, except that it applies to array and slice values
| interpolated into a double-quoted string (or similar interpreted
| string). Default is a space. (Mnemonic: obvious, I think.)

Daher kommen deine Spaces. Bevor du jetzt $`` auf einen anderen Wert setzt solltest du lieber dein Konstrukt ändern. Zum Beispiel:

print "$_" for (@info);

Viele Grüße,

Stefan

--
Lass dir das Tanzen NICHT verbieten
http://petition-tanzverbot.de.vu