68user's page 掲示板

Prev< No. 4796> Next  [最新発言に戻る] [過去ログ一覧]
No. 4796 # ふくし 2007/05/26 (土) 15:42:08
おひさしぶりです。
わからないことができると質問しに現れてすみません。
よろしくお願いします。

C:\>perl -v

This is perl, v5.8.8 built for MSWin32-x86-multi-thread
(with 50 registered patches, see perl -V for more detail)

Copyright 1987-2006, Larry Wall

Binary build 820 [274739] provided by ActiveState http://www.ActiveState.com
Built Jan 23 2007 15:57:46

で、以下のようなプログラムを書きました。
-------------------------------------------------- Foo.pm
#! perl -w

use strict "subs";
package Foo;
use base Exporter;
our @EXPORT = qw($bob);
our $bob = "#123456789";

1;

-------------------------------------------------- bar.pl
#! perl -w

use strict;
use Foo;

print "bob: $bob \n";

すると、以下のようなエラーになります。

C:\>bar.pl
Unknown error
Compilation failed in require at C:\bar.pl line 6.
BEGIN failed--compilation aborted at C:\bar.pl line 6.

Foo.pm の use strict 'subs'; を無効にするとなぜか正常に動作します。

C:\>bar.pl
bob: #123456789

何が悪いかお分かりでしょうか。

別に use strict 'subs' をやめればいいじゃん・・・
というハナシなんですが、
実際の元のプログラムはもっと大きくて(当たり前 ;;;)、
  use strict;
でずっとやってきていたので・・・。

何かわかりましたらよろしくお願いいたします。

Prev< No. 4796> Next  [最新発言に戻る] [過去ログ一覧]