Oracle データベースに接続してから外部関数を呼び出すという奇妙な動作が見られます。は常に -1 です。
問題のマシンは、DBD::Oracle 1.20 および DBI 1.602 で標準の AIX5.3 を実行しています。
#!/usr/bin/perl -w
use DBI;
CORE::system "pwd";
print "Before connect: $?\n";
DBI->connect('dbi:Oracle:', 'pwd', 'pwd');
print "Before system: $?\n";
CORE::system "pwd";
print "After system: $?\n";
CORE::system "pwd";
print "After system: $?\n";
Before connect: 0
Before system: 0
/usr/local/bin
After system: -1
/usr/local/bin
After system: -1
これは別の AIX 5.3 マシンからの結果です。唯一の違いは、DBD:Oracle 1.22 と DBI 1.607 を実行していることです。ただし、これらのモジュールの変更ログを見ると、それに関連するものは何も見つかりません。DBD:Oracle と DBI をアップグレードする以外に、私が試すことができるさらなることについてのアイデア (これは実稼働マシンであるため、すぐに実行することをためらっています)。