.pm
ファイルを持っている場合は、@INC
パスに配置することなく、use
の方法がありますか?特定のユースケースでは、相対パスを使用するか、またはこのディレクトリを@INC
に追加するよりも明確になります。Perlの使用/廃止パスが必要ですか?
編集:明確化:
私は@INC
内のすべてのアイテムを反復処理し、代わりに私が興味を持っているファイルを直接指定する必要性を回避するために期待していた例えば、Node.jsの中で、require('something')
意志を。パスのリストを検索しますが、require('/specific/something')
は私がそれを指示する場所に直接行きます。
Perlでは、これはrequire
と同じ機能であるとは確信していませんが、動作するようです。
ただし、use
ステートメントにはbarewordsが必要です。それが私に、絶対的な道に入る方法をちょっと困惑させてしまった。
'module'のは、あなたのケースのために正しいだろう使用する前に、' lib'ステートメントを使用します。しかし、なぜあなたは 'require'を使うことができません。それはあなたの問題にさらに適しています。また、プロジェクトやアプリケーション全体にそのディレクトリを適用するために、Apacheのconf内の 'SetEnv PERL5LIB'環境変数を使用することもできます。 –
私は '.pm'ファイルが必要です。私は試していないが、正しく動作するようには見えない。私は通常 'CGI :: ReadParse();'や 'use CGI ':cgi';'のような構文でモジュール内の関数を呼び出します。私は '.pm'ファイルのために' require'を使ってどうすればいいのか分かりませんが、 'require'を使ってそれを行うことができれば、私の問題は本当に解決されます。 –
それは動作します。この 'require 'Newmodule :: pm"; 'のようにしてから、' Newmodule :: subname(); 'を呼び出してください。それは正常に実行されます。 –