use Mosche;
a) ich MasonDataDir noch explizit festlegen ,uß und dann <location /> auf Server-Root setzen muß.
Es hat mich erstaunt, aber es hat bei mir auch ohne MasonDataDir funktioniert, aber das angeben schadet nicht. Dass du location auf Server-Root setzen musst, ist nicht unbedingt nötig.
DocumentRoot /blah/htdocs
<Location /meinmasondir>
# Mason-Config
</Location>
bewirkt, dass eine Datei, die in /blah/htdocs/meinmasondir liegt (und mit http://bla/meinmasondir/... aufgerufen wird) durch HTML::Mason geparst wird.
Jetzt versucht Mason zu parsen. Allerdings meckert er dann an, daß ihm Apache-Request fehlt. Das versuche ich gerade zu installieren. Allerdings sucht er mod_perl.so - ist vorhanden, findet er aber irgendwie nicht.
Du verwendest anscheinend Apache 2. Das macht es ein wenig komplizierter, und die angebotenen Lösungen sind nicht ganz so elegant.
Lösung:
Schreib
PerlSetVar MasonArgsMethod CGI
in deinen Code. In mod_perl "2" (welches noch gar keine 2 ist) ist noch nicht ganz Feature-kompatibel mit m_p1.
Lies dazu unter anderem mal http://beaucox.com/mason/mason-with-apmp2-mini-HOWTO.htm, dass hat mir auch geholfen.
P.S. Fein, daß Du auch in de.comp.lang.perl mitliest. Aber die Mitteilung hättest Du Dir verkneifen können. Vielleicht ein dezenter Hinweis an mich (ev. per Mail) dies zu unterlassen wegen Verstoß gegen Netiquette hätte doch auch genügt. Mußt mich doch nicht so öffentlich bloß stellen ;-)
Ich wollte nur in dclp(c) darauf hinweisen, dass diese Frage quasi gelöst ist, und sich niemand unnötig Gedanken machen muß.
use Tschoe qw(Matti);
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.