[ "Nezar Nielsen" <tumpen@fez.dk> ]
> Jeg sidder og piller med en webserver lavet med HTTP::Daemon
> modulet, og alting virker i og for sig også fint, men jeg vil gerne
> kunne lave diverse CGI operationer med de filer serveren
> serverer(uden at starte andre processer). Dertil bruger jeg som
> sædvanligt CGI.pm, men CGI.pm forventer at få sit input fra
> HTTP-POST operationer i *STDIN.
> Når man bruger HTTP::Daemon modulet får man altså den slags input i
> selve client-objektet (i mit eksempel: $c), derfor vil jeg gerne
> om-dirigere $c til STDIN, sådan at når CGI.pm læser fra STDIN, så er
> det i virkeligheden $c den læser fra.
For at citere CGI-modulets dokumentationen,
CREATING A NEW QUERY OBJECT FROM AN INPUT FILE
$query = new CGI(INPUTFILE);
If you provide a file handle to the new() method, it will read
parameters from the file (or STDIN, or whatever).
og lidt senere,
Perl purists will be pleased to know that this syntax accepts
references to file handles, or even references to filehandle
globs,
Så du kan altså bare give $c videre til CGI-konstruktøren.
> Og her er så mit dilemma: Er der noget galt i at sige *STDIN=$c; ?
> Det ser ud til at virke, men jeg ved ikke om der kan opstå problemer
> med det?
> Eller skal jeg "åbne" STDIN med $c som parameter, som beskrevet i
> perldoc -f open [...]
Begge ting burde være ganske lovlige, om end ikke så pæne.
> Håber der er nogen der kan hjælpe.. :)
Håber det hjalp.
--
Sune Kirkeby | "Imagine, if you will, that there were no
http://mel.interspace.dk/~sune/ | such thing as a hypothetical
situation..."