Schrift
[thread]5931[/thread]

directory chronologisch auslesen (Seite 3)

Leser: 2


<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten
eisbeer
 2003-12-22 12:13
#73115 #73115
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
$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...
Crian
 2003-12-22 16:43
#73116 #73116
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=eisbeer,22.12.2003, 11:13]
Code: (dl )
1
2
3
4
5
6
7
8
$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
hudo
 2003-12-24 13:56
#73117 #73117
User since
2003-11-20
72 Artikel
BenutzerIn
[default_avatar]
@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 .
eisbeer
 2003-12-25 13:58
#73118 #73118
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ach hups, ich war glaub ich mit zu vielen Dingen auf einmal beschäftigt :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
hudo
 2003-12-27 22:02
#73119 #73119
User since
2003-11-20
72 Artikel
BenutzerIn
[default_avatar]
scheint ganz so :laugh:
ptk
 2004-01-05 12:48
#73120 #73120
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[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 >.
hudo
 2004-01-14 14:33
#73121 #73121
User since
2003-11-20
72 Artikel
BenutzerIn
[default_avatar]
Ah danke fuer den Hinweis,
es folgt erst die Pruefung ob diese Datei existiert,
und wenn nicht, dann {meine touch emulation}


Gruss
Crian
 2004-01-14 14:37
#73122 #73122
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
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
Dubu
 2004-01-14 17:07
#73123 #73123
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[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?)
hudo
 2004-01-14 17:40
#73124 #73124
User since
2003-11-20
72 Artikel
BenutzerIn
[default_avatar]
@crian:
Ja natuerlich, das GANZE ist die touch-emulation:

Code: (dl )
1
2
3
4
5
6
7
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
<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten



View all threads created 2003-11-28 13:29.