On Wed, 06 Oct 2004 16:21:31 -0700, John W. Krahn <[EMAIL PROTECTED]> wrote: > [Please do not top-post. TIA]
ok > Jeff Westman wrote: > > > > On Tue, 05 Oct 2004 15:30:59 -0700, John W. Krahn wrote: > > > >>Jim wrote: > >> > >>>Willy Perez wrote: > >>> > >>>>Is there a method to pass a shell assigned variable to perl? > >>>> > >>>>For ex: > >>>> > >>>>ABC=xyc > >>>> > >>>>perl -ne 'print $ABC' > >>>> > >>>>In awk you could use ENVIRON["varname"], is there something > >>>>compatible in perl. > >>> > >>>You can do the same in perl with the special hash named %ENV. > >>>for instance: print $ENV{'SHELL'} > >>> > >>>or you can use the env module: > >>>perldoc -f env > >> > >>perl is case sensitive so that should be Env not env. > > > > You have to export the variable if you want perl to recognize it! > > > > Example: > > > > $ ABC=xyz > > $ perl -e 'print "$ENV{ABC}\n"' > > > > $ export ABC=xyz > > $ perl -e 'print "$ENV{ABC}\n"' > > xyz > > $ > > How is that related to using the Env module? Everything. The original poster asked how to display some varaibles from the shell. You CANNOT display those in perl unless you export them in the shell first. Have you tested it? I did. If you don't export it (as I showed in my example above), nothing is listed. Once exported, the perl command line is then aware of the environement. The point is, unless exported, the ENV module is useless since it is unaware of the parent environment. Disclaimer: this is for *nix systems; in DOS/Win systems, variables are always exported. > John > -- > use Perl; > program > fulfillment -Jeff -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>