Thread performanter dateizugriff (22 answers)
Opened by Froschpopo at 2006-02-21 20:17

Neal_the_real
 2006-02-21 21:24
#63139 #63139
User since
2006-02-21
21 Artikel
BenutzerIn
[Homepage] [default_avatar]
Also ich wuerde es so machen:
Die Daten erst mal in eine Variable (dann sind sie auf jeden Fall im RAM und werden auch dort gehalten) packen.

Du schreibst das auch andere Programme die Daten verarbeiten koennen. Deswegen wuerde ich bevor die auf $data zugreifst einen stat auf die file.dat machen.
perldoc -f stat perlfunc
Dort bekommst du die mtime der Datei raus (also wann die Datei das letzte mal veraendert worden ist).

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $mtime;
my $line;
my $data;

#auf $data kann man getrost zugreifen mtime hat sich nicht geaendert
if(($mtime == (stat("file.dat"))[9]) && (defined($mtime))) {
#.... Verarbeitung von $data

#erstes mal einlesen oder mtime hat sich geaendert
} else {
$data = '';
open(FILE, "< file.dat");
while($line = <FILE>) {
$data .= $line;
}
close(FILE);

$mtime = (stat("file.dat"))[9];
}
--
Gruss Neal

Hier koennte ein schlauer Spruch stehen!

View full thread performanter dateizugriff