Thread Datei einlesen (38 answers)
Opened by Fredl at 2012-03-09 15:50

FIFO
 2012-03-09 17:41
#156705 #156705
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Ahoi und willkommen :)

Guest Fredl
1)Von wo bekomme ich ein gutes Handbuch bzw. Webtutorial?

Wenn Du ganz taufrisch bist, ist vielleicht der Einstieg über "Einführung in Perl" von R. Schwartz, O'Reilly-Verlag, ein Anfang.

Quote
2) Ist es richtig, dass Perl für mein Problem die richtige Programmiersprache ist: .txt- Dateien einlesen -> verändern -> und in neue Datei speichern.

unbedingt, ja.

Quote
3) Ich habe nun versucht eine Datei zu öffnen/lesen/verändern...


Als Einstieg (Du arbeitest ja wohl unter Windows):
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use warnings;  # warne mich, nerve mich!
use strict;    # zwinge mich, sauber zu coden!

my $file_orig = 'D:\\Versuch\\demo.dat';
my $file_modf = 'D:\\Versuch\\demo.tmp';

# zum Lesen öffnen
open(my $orig, '<', $file_orig) or die "cannot open $file_orig\n";
# Ausgabedatei zum Schreiben öffnen
open(my $modf, '>', $file_modf) or die "cannot open $file_modf\n";

# zeilenweise einlesen und verändert ausgeben
while (my $line = <$orig>) {
    $line =~ s/x/Y/ig;  # alle x durch Y ersetzen (groß/klein)
    print $modf $line;
}

close $orig;
close $modf;

# alte Datei durch neue ersetzen
unlink $file_orig;
rename $file_modf, $file_orig;


edit: Eine derart begrenzte Aufgabe kann man mit Perl auch direkt auf der Kommandozeile (WIN-R cmd) ganz easy erledigen, und dann bekommt man einen Eindruck, wie Perl einem Routinearbeit abnehmen kann:
perl -pi.bak -e "s/x/Y/ig;" D:\Versuch\demo.dat. Hier wird noch ein Backup namens Demo.bak angelegt, ansonsten dasselbe erzielt wie in dem Skript oben.

Editiert von FIFO: Escaping der Pfade korrigiert
Last edited: 2012-03-09 23:40:11 +0100 (CET)
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"

View full thread Datei einlesen