Mail Archives: cygwin/2003/04/13/18:56:26
On Sun, 13 Apr 2003, Dmitry Melekhov wrote:
> Another problem is with perl in cygwin.
> On Linux I can set
> $ENV{PATH} and $ENV{ORACLE_HOME} inside
> perl script, but in cygwin I had to write shell script to call perl script:
Does it work in Linux if you DON'T set $ENV{PATH} and
$ENV{ORACLE_HOME} inside your program? Are you sure they are
not set elsewhere in your environment?
> #!/bin/sh
> PATH=/cygdrive/c/oracle/ora81/bin ORACLE_HOME='c:\oracle\ora81'
> /home/tabel/test.pl
> or I received following error:
> install_driver(Oracle) failed: Can't load
> '/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBD/Oracle/Oracle.dl
> l' for module DBD::Oracle: dlopen: Win32 error 126 at
> /usr/lib/perl5/5.8.0/cygwin-multi-64int/DynaLoader.pm line 232
> if I try to call perl script from .forward.
> This is thing I still don't understand. :-(
Does it work in cygwin if you set them in a BEGIN { } block at
the top of the script. Quoting perlmod,
A "BEGIN" subroutine is executed as soon as possible, that is, the
moment it is completely defined, even before the rest of the containing
file is parsed. ... Because a "BEGIN" block executes
immediately, it can pull in definitions of subroutines and such from
other files in time to be visible to the rest of the file.
I thought the problem might be setting environmental variables in
perl perhaps only passes them to children of the process, but:
greg AT 7106 ~
$ perl -e '$ENV{hey}="what?"; print $ENV{hey}'
what?
greg AT 7106 ~
$
shows this is not so.
--
Greg Matheson Where do I have to be to get to
Dr Bean's Penpal Pool where I want to be?
Address: palpool --Dr Bean
Domain: @cn91.chinmin.edu.tw
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -