Willkommen in der Webstatt
User-1 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?
User-2 am 03.09.06 18:49

cache? Was ist das script?

User-1 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;

User-1 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

User-3 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 ;)

User-1 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.

User-2 am 05.09.06 21:48

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

User-1 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 =/

User-2 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???

User-1 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