User since
2003-08-29
347
Artikel
BenutzerIn
$file = 'file.xyz';
if (-e $file) {
print "$file ist vorhanden.\n";
}
else {
print "$file ist NICHT vorhanden.\n";
}
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
User since
2003-08-04
5866
Artikel
ModeratorIn
[quote=eisbeer,22.12.2003, 11:13]
$file = 'file.xyz';
if (-e $file) {
print "$file ist vorhanden.\n";
}
else {
print "$file ist NICHT vorhanden.\n";
}
[/quote]
das emuliert aber kein touch ...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite
User since
2003-11-20
72
Artikel
BenutzerIn
@eisbeer,crian:
das ist nicht das Problem, herauszufinden ob das file existiert oder nicht. Mit touch meinfile.txt wird ein file meinfile.txt angelegt wenn es nicht existiert (Groesse ist 0 Bytes, aber file existiert) und wenn
es existiert, kriegt es den aktuellen Zeitstempel.
Darum mach ich jetzt folgendes:
... else {
print "$file existiert nicht !!";
open(FILE, ">$file") || die $!;
close(FILE);
}
Das file ist dann mit Groesse 0 Bytes angelegt .
User since
2003-08-29
347
Artikel
BenutzerIn
Ach hups, ich war glaub ich mit zu vielen Dingen auf einmal beschäftigt :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
User since
2003-11-28
3645
Artikel
ModeratorIn
[quote=hudo,20.Dec..2003, 20:55]"emuliere" touch grad immer mit
open(FILE,">$filename") || die "$!\n";
Gruss[/quote]
Lieber nicht: damit wird eine existierende Datei geleert (das macht touch gerade nicht). Vielleicht geht es mit >> anstelle von >.
User since
2003-11-20
72
Artikel
BenutzerIn
Ah danke fuer den Hinweis,
es folgt erst die Pruefung ob diese Datei existiert,
und wenn nicht, dann {meine touch emulation}
Gruss
User since
2003-08-04
5866
Artikel
ModeratorIn
Das klingt besser. Aber eigentlich ist der ganze Vorgang den Du beschreibst dann "Deine Touch-Emulation" ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite
User since
2003-08-04
2145
Artikel
ModeratorIn + EditorIn
[quote=hudo,14.01.2004, 13:33]es folgt erst die Pruefung ob diese Datei existiert,
und wenn nicht, dann {meine touch emulation}[/quote]
Was wiederum eine Race Condition erzeugen kann. (Was ist, wenn ein anderer Prozess zwischen deiner "Pruefung" und deiner "Touch Emulation" die Datei anlegt?)
User since
2003-11-20
72
Artikel
BenutzerIn
@crian:
Ja natuerlich, das GANZE ist die touch-emulation:
if ( -s $file ) {
print "prima, $file is schon da und enthaelt mehr als 0 Byte";
} else {
print "$file existiert nicht !!";
open(FILE, ">$file") || die $!;
close(FILE);
}
@Dubu:
Ups, da muss meine Konstruktion passen.
Also wie macht man mit perl ein !! RICHTIGES !! touch