プログラムの最初に Perl でいくつかの環境変数を設定しようとしていますが、Perl スクリプトを呼び出す Bash スクリプトで環境変数を設定しない限り、エラーが発生し続けます。
#!/usr/bin/perl -w
$ENV{'ORACLE_HOME'}='path';
$ENV{'LD_LIBRARY_PATH'}='path';
これは機能しませんが、私のシェルスクリプトは機能します:
#!/bin/bash
export ORACLE_HOME=path
export LD_LIBRARY_PATH=path
./perlscript.pl
DBI モジュールを機能させるために、これらのパスを設定しています。理想的には、Bash スクリプトを使用せずに、Perl スクリプトでパスを設定したいと考えています。
エラー:
Install_driver (Oracle) に失敗しました: モジュール DBD の /some/path/ をロードできません: Oracle: libclntsh.so.11.1: 共有オブジェクト ファイルを開けません: /some/path/DynaLoader.pm 行 230 にそのようなファイルまたはディレクトリはありません
コード
use DBI;
my $dbh = DBI->connect("DBI:Oracle:host=something;port=something;sid=something");
my $sth = $dbh->perepare($query);
$sth->execute();
$sth->finish();