3

同じ名前で大文字と小文字が異なるモジュールは見たことがありませんが、好奇心のために、Log::Log4perlをインストールしようとしましたが、インストール中に「perl」の代わりに「Perl」のスペルを間違えました。

% cpan -i Log::Log4Perl 
Cannot install Log::Log4Perl, don't know what it is.

正しい名前を使用すると、うまくいきました:

% cpan -i Log::Log4perl 

同じ名前でも大文字と小文字が異なると、競合が発生する可能性があります。その背後に特定の理由はありますか?

4

2 に答える 2

14

なぜなら

use Foo::Bar;

大文字と小文字を区別するファイル システム (Foo/Bar.pm? foo/bar.pm? FOO/BAR.pm? Foo/Bar.PM? など) ではあいまいであり、ファイルの名前を見つけるためにディレクトリの内容をたどる必要があります。 . ( の要素ごとに最大 9 つのディレクトリ@INCを Foo::Bar をトラバースする必要があります。)

于 2013-10-22T12:46:12.043 に答える