#! をハードコーディングする必要がある場合は、 を使用して#!/usr/bin/env perl
ください。なんで?あなたが望むのは、Perl プログラムがユーザーの好みの Perl で実行されることです。それは彼らの最初のオンになるでしょうPATH
。 #!perl
私が意味することはしません。ユーザーのPATHを検索しません#!/usr/bin/env perl
。それをやってのける方法です。 /usr/bin/env
Unix システムでは常に存在します。
他の人が指摘しているように、ユーザーが Windows を使用している場合、それは問題ではありません。Windows は #! を使用しません。ファイル拡張子の関連付けを使用します。あなたのプログラムが呼び出されていることを確認してくださいfoo.pl
。ただし、#! を含めます。いくつかのユーティリティやエディタがそれを利用しているので、とにかく行。
コードを配布する場合は、インストーラーに任せてください。MakeMaker/Makefile.PL
との両方Module::Build/Build.PL
が #! を変更します。ユーザーがインストールに使用した perl と一致する行。彼らはあなたのためにこの問題を処理します.
本番環境で使用するためにコードをインストールする場合は、perl の特定のコピーへのフル パスを使用する必要があります。perlのどのコピー?あなたのプロジェクトに固有のもの。これは、プロジェクトごとに perl をコンパイルする必要があるということですか? いいえ、シンボリックリンクを作成できます。プロジェクト foo は を/usr/local/bin/fooperl
指している可能性があり/usr/bin/perl5.18
ます。を使用し#!/usr/local/bin/fooperl
ます。perl をアップグレードする場合は、シンボリック リンクを変更することでプロジェクトごとにアップグレードできます。