2011-01-31 7 views
3

プレゼンテーションのためにCPANのモジュールを書いたサブクラスを使用するスクリプトがあります。サブクラス化されたモジュールにはあま​​りコードがないので、私は理想的には同じファイルに2つを持っているのが理想的です。サブクラス化されたモジュールを拡張してスクリプトのコードを含めるか、またはスクリプトをモジュールに変えることは意味がありません。スクリプトにモジュールコードをどのように含める必要がありますか?Perl:モジュールをスクリプトに含める/埋め込む

答えて

10

1つのファイルに複数のパッケージを持つことに問題はありません。

package Foo; 

sub new { 
    print "Foo::new\n"; 
} 

package main; 

new Foo; 
+0

私は 'main'パッケージから 'use Foo'宣言を削除しないという間違いを犯しました。ありがとう! –

+7

ここには何もありませんが、 'Foo'で宣言された字句変数(' my ...; 'と' our ...; ')は' main'に表示されます。これを望まないなら、パッケージを中括弧で囲みます: '{package Foo; ...} ' –

+3

my()は字句変数です。 our()は_package_変数のためのものですが、その効果はレキシカルです。 – tadmc

0

あなたができることは以下の通りです。core.pmなどを含める 'モジュール'に名前を付けることです。そして、それを他のスクリプトと同じディレクトリに置き、スクリプトにrequire core;と入力すると、これはうまくいくはずです。一般的には、userequireを見てみましょう。これは、あなたが望むやり方を達成するのに役立ちます。

+0

これは現在の配置です。モジュールとスクリプトは同じディレクトリにあります。モジュールコードが非常に短いので、私はそれらが同じファイルにあることを望みます。 –

+0

ああ、私はあなたの答えを得ていませんでした。さて、ローマの答えを見てください。あなたは単にスクリプトにパッケージを置くことができます... –

関連する問題