Schrift
[thread]5866[/thread]

Problem mit Dateien: lesen + schreiben

Leser: 1


<< >> 4 Einträge, 1 Seite
pktm
 2003-10-30 18:13
#68332 #68332
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich würde gerne eine Datei einlesen, bearbeiten und dann überschrieben.
Das mache ich so:
Code: (dl )
1
2
3
4
5
open(DAT, "+>$data_file") || die "[$data_file]$!";
my @inhalt = <DAT>;
#machwas
print DAT @inhalt;
close(DAT);


Nur geht das nicht.
Jedesmal danach ist meine Datei leer!
Was mache ich falsch?
mfg pktm
PS: ich erhalte keine Fehlermeldungen, und das trotz use strict; etc :)

EDIT: habe gerade herausgefunden, dass @inhalt leer ist - wieso?\n\n

<!--EDIT|pktm|1067530480-->
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2003-10-30 18:17
#68333 #68333
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
aus perldoc -f open:
Quote
              You can put a '+' in front of the '>' or '<' to
              indicate that you want both read and write access
              to the file; thus '+<' is almost always preferred
              for read/write updates--the '+>' mode would clob-
              ber the file first.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
havi
 2003-10-31 13:26
#68334 #68334
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
... oder du machst es auf die umstaendliche Variante!

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

use warnings;
use strict;

my $data_file = "";
my $data_file_tmp = "";

open(DAT, "<$data_file") or die $!;
open(NEU, ">$data_file_tmp") or die $!;

my @inhalt = <DAT>;
print NEU @inhalt;

close(DAT) or die $!;
close(NEU) or die $!;

rename($data_file_tmp, $data_file);

1;


:) :) :)

Gruss
Ronnie
 2003-10-31 13:45
#68335 #68335
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Wenn es irgendmöglich ist empfehle ich beim Verarbeiten von Dateien, die Ausgabe auf STDOUT zugeben und wenn diese okay ist, selbige per Ausgabeumleitung (>) in eine Zieldatei zu schreiben.
<< >> 4 Einträge, 1 Seite



View all threads created 2003-10-30 18:13.