私が開発しているいくつかのライブラリの異なるバージョンがあり、私が作成したさまざまなplperl関数内から、に基づいて特定のバージョンをロードしたいと考えていますcurrent_database()
。
(IIRCが優先されるのではuse
なくrequire
、ライブラリをキャッシュする可能性があるためだと思いますか?)
ただし、同じサーバー上の異なるデータベースで問題が発生するのではないかと心配しています。どちらの方法でも、次のように考えています。
1)use lib
次にuse
-複数のパスが@INCでスタックしている場合、使用されるのは正しいパスではない可能性があります
2)require
-これは、現在のスクリプトで常に正しいスクリプトが使用されていることを意味しますが、ライブラリが毎回リロードされることを意味しますか?いずれにせよ、一度使用したライブラリがロードされたままの場合、異なるバージョンからの名前空間の汚染がバグを引き起こす可能性はありますか?(たとえば、変数が定義されているかどうかに基づいてブランチがあり、あるバージョンではデフォルトであり、別のバージョンではそうではない場合、すべてのバージョンは、単に定義を解除するのではなく、明示的に定義を解除しない限り、すべてのバージョンがそうであるかのように動作しますそれを定義していませんか?)