Things I'd double check:
- your ccm_ini_init. Would be the first time I see an init script that doesn't try to set some
environment variables for subsequent application invocations.
However, mere shell variables certainly don't survive from your invocation of
ccm_ini_init to your invocation of ccm. Make this my primary bet for your problem.
(btw, why `` w/o assignment instead of system()?) Prepend the init to the real ccm invocation.
Or if the init properly exports variables, consider running it before invoking your perl program,
so Perl will inherit the settings via %ENV.
- are your variable contents really suitable as bare-words in the shell?
$cmd="$ccm_home/bin/ccm start -nogui -f $home_dir/.ccm_$dbId.in
+i -d $dbPath/$dbName -m -q -h $dbEnghost";
warn "cmd is $cmd\n";
my $res=`$cmd`;
If your $ENVIRONMENT
does emphasize strict departmental isolation of permissions/IDs/tasks, it might not be the best of ideas
to trust their sense of naming blindly, as this might be an attack vector tested during e.g. security
assessment "projects". Check e.g. the %ENV trick as a Unix-shell-safe idiom).
- still quoting: while you lack some quoting in the system/``, which may or may not be harmless*, you use
them without need in perl assignments (perl!=shell).
cu & HTH, Peter -- hints may be untested unless stated otherwise; use with caution & understanding.