Ich weiss wie man eine Datei öffnen kann und sich den Inhalt angucken kann.
Aber wie kann ich eine Datei öffnen, Zeile für Zeile die letzen 2 Zeichen entfernen und die Datei wieder schließen (so das jetzt in jeder Zeile die letzen beiden Zeichen weg sind)?
Du kannst zwar eine Datei zum lesen und schreiben öffnen, das wäre aber in deinem Falle extrem umständlich, da du dann mit Filezeigern arbeiten musst (seek) und schnell Problem bekommst.
Das einzige sinnvolle wäre eine zweite temporäre Datei zum schreiben zu öffnen und dort den veränderten Inhalt reinschreiben. die Orginaldatei löschen und die temporäre Datei umbennen.
Liest Datei ein und entfernt Zeichen am Zeilenende/
print "Dateiname: ";
$name = <STDIN>;
Du solltest immer mit use strict arbeiten um z.b. Tippfehler zu finden/vermeiden.
open(HANDLE, ">>" . $name) || die "ERROR beim OEFFNEN\n";
Hier kannst du noch den Grund mit ausgeben
open(HANDLE, ">>" . $name) || die "ERROR beim OEFFNEN ($!)\n";
while (<HANDLE>)
{
chop ($_);
chop ($_);
print $_;
Dir ist aber klar, dass deine neue Datei dann keine Zeilen mehr hat, da du ja auch "\n" damit entfernst?
Struppi.