agapanthus: Dateiarbeit

Beitrag lesen

Moin.

Habe XML-Daten aus Windows, mit denen ich unter Unix weiterarbeiten will.

Wie kommen Deine Dateien von Windows nach UNIX? Transferiere sie einfach mit ftp und wähle als Transfermode ASCII, dann stimmt es. Dein FTP-Client auf der UNIX-Seite weiß ja, daß als Zeilenende nur 0x0a gilt und speichert automatisch im richtigen Mode.

Das das so kompliziert werden wird hätt ich allerdings nicht gedacht.

Naja, isses ja auch nicht. So zum Beispiel gehts:

open(HANDLE,"+<$name") || die $!;
#Datei sichern gegen gleichzeitges Schreiben durch andere
flock(HANDLE,2);
binmode (HANDLE);
#Inhalt lesen
@inhalt = <HANDLE>;
#Dateizeiger auf den Anfang
seek (HANDLE, 0, 0);
#Alles danach abschneiden
truncate (HANDLE, 0);
foreach (@inhalt){
chop $_;
chop $_;
#und wieder 'reinschreiben
print HANDLE $_ ."\x0a";
}
close HANDLE;

Gruß Frank