ho un programma Perl che ho trasformato in un "eseguibile" grazie a
PAR::Packer. Questo programma necessita di conoscere il percorso di un
template XML per funzionare.
Se io impacchettassi nell'eseguibile il file XML, ci sarebbe un modo
per dire al programma di andare a cercare il template dentro la
cartella in cui viene decompresso l'eseguibile?
Grazie mille
Certamente (sempre se ho capito bene la domanda).
Se metti il file XML in una directory specifica del package par
(mediante pp -a) poi puoi accedervi tranquillamente dal programma perl,
o mediante FindBin, oppure (meglio) mettendo il file sotto una delle
directory di @INC (del par - ad es. nella stessa dir del programma) e
accedendovi direttamente.
Addirittura in quest'ultimo caso, se puoi permetterti di dichiarare il
contenuto del file XML come stringa Perl, cioč ad esempio scrivendo il
file XML cosě:
<<'XML_END';
codice xml
qua
dentro
XML_END
(ci vuole un newline dopo XML_END) nel tuo programma potresti utilizzare
banalmente:
my $xml_code = do 'file.xml';
ritrovandoti tutto il codice xml dentro $xml_code, perché la do()
scandisce automaticamente @INC alla ricerca di file.xml.
Ciao,
Emanuele.
me la sono cavata andando a cercare dentro @INC il percorso in cui
veniva parcheggiato il file XML.