Hejsa
Lau Sennels wrote:
> Jeg bruger f.eks.
>
> $ENV{'FileName'}=$File, hvor FileName er en env-variabel.
>
> Problemet er formentlig at den nye værdi først er tilgængelig for
> child-processer af scriptet. Det duer ikke ikke til mit formål.
> Naturligvis kunne jeg lægge værdierne i en fil, men det er hverken
> særligt elegant eller hensigtsmæssigt.
Deri er jeg generelt uenig. Jeg vil hellere have en stabel .foo-filer
liggende, men fred nu være med det.
> Er der nogen der har en idé til
> hvordan problemet kan løses?
Perlfaq8:
I {changed directory, modified my environment} in a perl script. How
come the change disappeared when I exited the
script? How do I get my changes to be visible?
Unix
In the strictest sense, it can't be done -- the script
executes as a different process from the shell it was
started from. Changes to a process are not reflected in
its parent, only in its own children created after the
change. There is shell magic that may allow you to fake
it by eval()ing the script's output in your shell; check out
the comp.unix.questions FAQ for details.
Så svaret må være:
eval `perlscript`
fra din shell. Dit script skal så blot skrive de rette linier ud ved
hjælp af print.
Knus
Regnar
--
Regnar Bang Lyngsø (regnar@writeme.com, regnar@beer.com)
<URL:
http://www.daimi.au.dk/%7Erblyngso/>