Webstatt.org - Community seit 2006 - 2012 (2024?)

[Perl] Eine kleine Frage zu perl

user-343
03.09.2006 16: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).

Avatar user-271
03.09.2006 16:49

cache? Was ist das script?

#!/bin/bash
traurig){ neutral:& };:
user-343
03.09.2006 16: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"zwinkern;
&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-343
05.09.2006 19: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

Avatar user-255
05.09.2006 19: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 zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-343
05.09.2006 19: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.

Avatar user-271
05.09.2006 19:48

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

#!/bin/bash
traurig){ neutral:& };:
user-343
05.09.2006 19:53

Im Browser nicht. Konsole fügt sich Fettes Grinsen

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 Fettes Grinsen Spart sicherlich irgendwie Zeit.
Aber wenn man was am ausprobieren ist hindert es eher =/

Avatar user-271
05.09.2006 19:57

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

weil wenn du sagst, die konsole geht???

#!/bin/bash
traurig){ neutral:& };:
user-343
05.09.2006 20: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?