私のperlモジュールの1つが別のモジュールを使用していますが、それをインポートすることはできません。
perlモジュールは、インポートされていないパッケージからメソッドを呼び出します。
しかし、私はこれが決して問題を引き起こしていないことに気付いたとき、私はショックを受けました!
コードのようなものです:
package This;
# no import for OTHER !!
sub new {
... implementation ...
my $something = OTHER->new(@arguments); # no error!
... more implementation ...
}
だから何ができますか?なしThis
のインポートインポートOTHER
- それは私がチェックしたものでした。
This
をインポートするコードでも
OTHER
,
OTHER
をインポートすると、
This
は利用できますか?
質問の明確化:
X
、Y
、およびZ
はモジュールです。 Xで- :
use Y;
- X中:
use Z;
Y
Y
はZ
の関数やメソッドへのアクセス(およびその逆を持っていますuse
Z
ありません)?
どこかにインポートされています。私はあなたがこれを見つけることができる[SSCCE](http://sscce.org/)にこれを煮詰めると思う。 –
@BrianRoach - 明らかにするために:XがYをインポートし、XもZをインポートする場合、YはZをインポートせずにZにアクセスできます(逆も同様です)。 –
私は確信しています。一度パッケージがインポートされると、OOがperlに固執された方法のためにグローバルに利用できますが、テストする必要があります。私は実際に数年間多くのperlを書いていないし、少し錆びている。 –