2

私はperlモジュールDB.pmを持っています。内部は次のようなものです:

package GUI::DB;
use strict;
use DBI;
use vars qw(@ISA @EXPORT);
use Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(fun);
sub fun {
    my $dsn = "DBI:mysql:database=test";
    return $dsn;
}

次に、test.pl を書きました。

#!/usr/bin/perl
use strict;
use warnings;
use lib '~/Downloads/GUI'; #Here is the path of the DB.pm module.
use DB;
my $aa = fun();

私は何時間もそれを修正しようとしてきました.コメントを使用しようとしperl -l /path/to/file aa.plましたが、エラーは発生しませんでしたが、スクリプトはまったく実行されませんでした.私はPerlの初心者で、本当に行き詰まっています. 私を助けてください。

編集:モジュールの名前は DB.pm で、フォルダーの名前は GUI になりuse DBましたが、スクリプトで使用していますが、まだ機能しません。DB.pm ファイルをどこに保存すればよいですか?

4

2 に答える 2

3

use HA;いくつかのことを行います。最初に、perl ライブラリ パス ( ) でファイル HA.pm を見つけます@INCHA::->import()次に、 HA モジュールが必要な初期化/エクスポートを実行できるようにするために呼び出します。これは、そのファイル名と一致するモジュールのパッケージに依存しています。そうでない場合、この初期化は静かにスキップされます (メソッドがimport存在しなくても、メソッドへのメソッド呼び出しはエラーを生成しません)。

したがって、必要なパッケージで import を明示的に呼び出すか、パッケージ名をファイル名と一致させます。

于 2013-10-31T22:37:15.423 に答える