PDA

Visualizza la versione completa : Redirect Perl


tommykemaro
21-02-2012, 17:50
Ciao ragazzi,

ho questo problema...

Ho un modulo .pl invocato in http nel quale faccio una redirect con il seguente comando
ad un modulo .pm (nel quale elaboro informazioni e sparo a video l'output o in formato xml o in formato testuale)

my $query=new CGI;
print $query->redirect('x.pm');

Il problema Ŕ che a video nella barra degli url compare, giustamente, il nuovo indirizzo x.pm
Dovrei invece evitare questo lasciando nella barra degli indirizzi il nome del .pl da cui ho effettuato la redirect.

E' possibile???

Grazie 1000 per la disponibiliÓ,
Tommy

tommykemaro
23-02-2012, 17:09
Ragazzi niente?!!?

:dh˛: sto impazzendo, nessuno ha mai avuto questo tipo di problema??

Veramente non so come fare, anche perchŔ non posso adottare un metodo diverso che una redirect! :( ...


Grazie,
Tommy!!

Mich_
23-02-2012, 18:08
E se fosse di usare un metodo lato client?

Mi par di ricordare che con JS si puo` fare. Non ricordo la sintassi corretta, ma nel forum relativo ci sono varie discussioni sul tema di nascondere l'url.


In alternativa:
Perche` invece di fare un redirect, non fai una chiamata all'altro programma?

So che in Perl ci sono 3 metodi
- exec()
- system()
- ` ... ` [[ backquotes ]]

Ci sono piccole differenze tra i tre: trovi i riferimenti nei manuali Perl.

tommykemaro
28-02-2012, 15:19
Ciao,

grazie mille per la risposta e scusa se rispondo solo ora ma non mi sono collegato in questi giorni...

ho provato a fare come mi hai detto tu...

@args = ("modulo.om", "x=2&y=3");
system(@args) == 0
or die "system @args failed: $?";

dove in @args passo come primo parametro il modulo e come secondo tutti i parametri che poi mi splitto in ARGV[O] nel modulo .pm....

La chiamata funziona correttamente ma l'output non mi viene visualizzato a video, credo che devo modificare lo stream di output, giusto??
Sapete come dovrei fare???

Grazie 1000,
tommy

tommykemaro
29-02-2012, 11:14
Ho risolto:

ho fatto in questo modo

print `modulo.pm "$buffer"`;

Ciao,
e grazie a tutti!!!!

Loading