Hallo Engin!
Arghh, hatte das desktop/ vor den Dateinamen vergessen, wobei es doch auch bei
Perl irrt sich nie. Der User tut's ;)
absoluten pfaden hätte gehen müssen!?
Ach, _das_ hattest Du versucht? Die kann man angeben, um in ein anderes Verzeichnis zu "gehen". z.B.
chdir "K:\www\myweb\mystats";
open FILE, "stat.txt";
Sonst geht Perl immer vom Arbeitsverzeichnis aus, so dass auch solche Angaben möglich sind:
open FILE, "../eineebenehoeher/stat.txt";
Das Arbeitsverzeichnis ist immer das, von wo aus Perl aufgerufen wird. Auf dem Webspace ist es dann in der Regel das cgi-bin. Das kriegst du immer ausgegeben mit:
use strict;
use Cwd;
print cwd();
[code lang=perl]
$count++ if m#.jpg|.gif|.png|.css|.js|.class|\robots.txt#; #print $count, $/;^Z
1685039
##################^^^^^^^ unverändert####################################
$count++ if m#.jpg|.gif|.png|.css|.js|.class.txt#; #print $count, $/;^Z
1685039
##################^^^^^^^ |\robots entfernt
Das war hier ein Tippfehler von mir: das Slash vor'm »r« von »robots« muss weg:
m#.jpg|.gif|.png|.css|.js|.class|robots.txt#
####################################
$count++ if m#.jpg|.gif|.png|.css|.js.txt#; #print $count, $/;^Z
1648832
##################^^^^^^^ |.class entfernt - was ist mit .class gemeint?
Ich habe zwei oder drei Java-Applets auf old.atomic-eggs.com - da werden die sogenannten Java-Klassen geladen.
Deine anderen »Enfernungen« sind falsch, weil das | für »oder« fehlt. Der Ausdruck liest sich wie folgt:
$count++ if if m#.jpg|.gif|.png|.css|.js|.txt#;
Erhöhe einmal den Wert von $count (um 1), wenn in der Zeile .jpg ODER .gif ODER .png ODER .css ODER .js ODER .txt vorkommt. Somit werden nur Zeilen gezählt, die eine dieser Dateiendungen in der ganzen Zeile enthalten. Der Punkt hat in RegExp eine Bedeutung, weswegen er maskiert werden muss. Das | enspricht hier »ODER«.
Wenn Du | enfernst wie oben, heißt es:
Erhöhe den Wert von $count wenn (...) ODER die Zeichekette ».js.txt« (in dieser Reihenfolge) in der Zeile vorkommt (was eher unwahrscheinlich ist) ;)
##################^^^^^^^.txt entfernt und vor .png statt |\ nur \ So richtig?
s. oben ;)
Viele Grüße aus Frankfurt/Main,
Patrick

_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?