Willkommen in der Webstatt Zum Webstatt Blog und Stories
Wasili am 03.09.06 18:35

Ich habe hier einen lokalen Webserver mit modperl. Perlskripte aufzurufen ist kein Problem, das Script wird offenbar verarbeitet.

Nur: Ich habe eine Datei mit Namen "index.pl". Nach ein paar Anfänglichen Fehlern hab ich es geschafft, was auszugeben, mit Subroutinen.
Naja. Hab dann in den Subroutinen was geändert. Die Ausgabe "verschönert".
Und nun aktualisiere ich die Seite: Die genau gleiche Ausgabe wie vorher oO

Ist das normal? Kann ich da was daran ändern?

(In der Eingabeauffordernung hab ich das Skript mal aufgerufen. Meine erwartete Ausgabe, nicht die gleiche wie im Browser).

netcup.de Warum gibt es hier Werbung?
nuit nuit am 03.09.06 18:49

cache? Was ist das script?

Wasili am 03.09.06 18:58

Nojo. Nichts besonderes.

Cache? oO

index.pl
use CGI::Carp qw(fatalsToBrowser);



print "Content-Type: text/html\n\n";

# Bibliothekenpfad
my $RequirePath, $RequireLibPath;
$RequirePath = "D:/Serverdokumente/perllogd/";
$RequireLibPath = "D:/Serverdokumente/perllogd/lib";

# Bibliotheken einbinden
require "".$RequirePath."common.pl";
# sub LoGD_PageHeader;

my $output;
$output = "Hallo Welt";


&LoGD_PageHeader("Perl-LoGD");
&LoGD_PageFooter($output);

common.pl
use CGI::Carp qw(fatalsToBrowser);

sub LoGD_PageHeader {
local $title = $_[0];

print "<html>\r\n";
print "\t<head>\r\n";
print "\t\t<title>".$title."</title>\r\n";
print "\t</head>\r\n\r\n";

return 1;
}

sub LoGD_PageFooter {
$content = $_[0];

print "\t<body>\r\n<!-- Okay. And now the content -->\r\n\r\n";
print $content."\r\n\r\n<!-- End Content -->\r\n";
print "\t</body>\r\n";
print "</html>";

return 1;
}

return 1;

Wasili am 05.09.06 21:19

Heute war nun die richtige Ausgabe da...? oO
Seltsam ist, dass, wenn ich etwas in der index.pl ändere, alles sofort übernommen wird. Ändere ich was an der common.pl dauert es scheinbar einen Tag... Oder Zwei... oO

milahu milahu am 05.09.06 21:25

Du meinst wohl die common.pl.

Hilft denn ein direkter Aufruf der common.pl?

Kann es sein, dass Perl Skripte wie Python vorkompiliert..? In Python werden dazu *,pyc Dateien
verwendet, guck mal, ob du vll sowas in der Art findest ;)

Wasili am 05.09.06 21:37

Äh, ja... common.pl *Editiert* oO

Ein direkter Aufruf der common.pl, mit Änderungen, so dass die Subroutinen aufgerufen werden, funkioniert. Ausgabe so wie erwartet.

Ändere ich was an den Subroutinen sehe ich diese auch. Aber *nur* in der common.pl. Die index.pl, die ja die gleichen Routinen gebraucht, sieht davon 0.

Und die Suche nach solchen vorkompilierten Dateien hat bisher nix gebraucht... Ich hab mal nach *index*.* gesucht und alle Dateien, die nur irgendwas mit Perl zu tun hätten, aufgemacht - nichts.

// Suche in C:\Windows\temp nach *.*pl* hat auch nix gebracht.

nuit nuit am 05.09.06 21:48

funktioniert das ganze auf auf der konsole nicht? oder nur im Browser nicht?

Wasili am 05.09.06 21:53

Im Browser nicht. Konsole fügt sich :D

Was mir noch aufgefallen ist: Definiere (?) ich die Subroutinen in der index.pl und ändere was => das gleiche wie in der common.pl. Aber lösche ich die da raus und mache es so, dass die Routinen der common.pl wieder verwendet werden sollten, ignoriert er das und gebraucht weiterhin die verändererten aber nicht mehr existenten Subroutinen der index.pl.

Vielleicht ein netter Effekt wenn was läuft :D Spart sicherlich irgendwie Zeit.
Aber wenn man was am ausprobieren ist hindert es eher =/

nuit nuit am 05.09.06 21:57

es sieht mir echt sehr nach cache aus....also der Browser cache....

weil wenn du sagst, die konsole geht???

Wasili am 05.09.06 22:12

Naja. Browserchache, dachte ich, kann es auch sein.
Aber: Ändere ich einen Parameter einer Routine, dann sehe ich eine Änderung. Ändere ich die Routine selbst passiert nix.

Hat der Perlinterpreter (Oder modperl) irgend einen cache für Routinen?

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt