問題タブ [perldoc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
230 参照

eclipse - perl.exe は任意のフォルダーから実行されますが、perldoc.bat はそうではありません。一方、それらは両方とも同じフォルダーにあります

Eclipse/EPIC で ActiveState Perl 5.8.8 を使用しています。そして、それはうまくいきます。perldocも使いたいです。しかし、Eclipse には「ドキュメントは利用できません」というメッセージがあります。Eclipse では、私の perl インタープリターは "C:\perl\bin\perlexe" です。または、cmd「perldoc」と入力すると、「PATH に perldoc が見つかりません」というメッセージが表示されます。確かに、システム環境変数には C:\perl\bin パスが存在します。perl.exe と perldoc.bat は同じフォルダーにありますが、perl は機能しますが、perldoc は機能しません。しかし、cmd "cd C:\perl\bin" の perl フォルダーに移動して perldoc と入力すると、perldoc はうまく機能します。環境変数をもう一度確認しましたが、問題は検出されませんでした。「C:\perl\bin」は PATH の変数の最初にあり、perl.exe と perldoc.bat は両方ともこのフォルダーにあります。

0 投票する
0 に答える
93 参照

perl - perldoc perllocal が他のモジュールをインストール済みとして表示する

cpan モジュールの install-dir を変更し、このディレクトリを PERL5LIB に追加して、スクリプトでモジュールを使用できるようにしました。

インストールしたモジュールの概要が欲しかったのですが、「perldoc perllocal」を実行すると、LWP::MediaTypes、Encode::Locale、IO::HTML、および HTTP::Date がリストされますが、HTTP:Request しかインストールしていません。

依存関係のためにさらに多くのモジュールをインストールしたことは知っていますが、スクリプトで使用できるのに HTTP:Request がリストになく、LWP::UserAgent がないのはなぜですか?

ありがとう

0 投票する
1 に答える
291 参照

perl - Perl の「do」。相対パスは「.」で始まります。また ".."

do EXPR構成情報としてリストを返すだけの 2 つ目の .pl ファイルを使用して、Perl の関数を貧弱な構成パーサーとして使用しようとしています。do(特に、コードに" " を記述できるため、これはおそらく の理想的な使用方法だと思いdo or dieます。) 次に例を示します。

main.pl

config.pl

Perldoc を読むと、相対パスに関する多くの役立つアドバイスが得られます - @INC の検索と %INC の変更、「.」を検索しない 5.26 に関する特別な警告doなどなど。ただし、次のビットもあります。

# 指定されたファイル(./ および ../ 特殊ケース) を正確にロードします...


do を相対パス(./ と ../ を除く)で使用すると、次のようになります。

そして、「./」または「../」の特別なケースのパス処理を実際に説明することは決してありません-重要な省略です!

だから私の質問は、「あなたが実際に何が起こるか」のすべてのバリエーションdo './file.pl';です。例えば...

  • CWD は @INC から削除されていますが、この構文は 5.26 でも機能しますか?
  • いずれにせよ「./」は誰の視点から見れば: Perl バイナリ、実行された Perl スクリプト、ユーザーのシェルからの CWD、または何か?
  • 注意すべきセキュリティリスクはありますか?
  • これは、@INC を変更してベース ファイル名を使用するよりも良いですか、悪いですか?

どんな洞察も高く評価されます。