0

perl に疑問があります。コマンドライン引数/スイッチ/オプションでファイル名を取得する必要があり、それに基づいて、スクリプトにそのファイルを含める/要求する/使用する必要があります。したがって、その getopt 変数を使用することで、それを実行できます。ただし、スクリプトで「use strict」を使用した場合、取得できませんでした。これについて助けてください

私は次のように試してみましたが、その動作

base.pm:

our $def_name = "me";

main.pl:

my $name = "mathlib.pm";
require $name;
print $def_name;

main.pl と base.pm に次の行を含めると、

use strict;
use warnings;

私はエラーが発生しています、

Global symbol "$def_name" requires explicit package name .
Execution of main.pl aborted due to compilation errors.
4

1 に答える 1

1

$def_nameからエクスポートされていませmathlib.pmん。グローバルではなくパッケージ変数です。$mathlib::def_nameまたは、モジュールを使用Exporterして、それを使用するモジュールの名前空間にエクスポートできます。

于 2013-08-16T09:38:03.930 に答える