バックグラウンド:
私は、個人使用のためのいくつかのモジュールを含むディストリビューションを作成したいと考えています — それは決して日の目を見ることはありません (別名 CPAN)。Module::Starter
簡単なテストとバージョン管理を活用するために、これらのモジュールを使用して開始したいと思います。
(Ubuntu GNU/Linux では perl 5.12.4)
質問:
Module::Starter で Unicode ファイル名を使用するにはどうすればよいですか? 例: Local::Λ
← (Lambda)?
これは機能しません:
$ module-starter --module Local::Λ
Invalid module name: Local::Λ at /usr/local/share/perl/5.12.4/Module/Starter/App.pm line 132.
実際に失敗する行は
croak "Invalid module name: $_" unless /\A[a-z_]\w*(?:::[\w]+)*\Z/i;
(Module::Starter::Simple
95行目)。
ラムダは明らかに「単語」文字です。
ちなみに、これは機能します:
$ cat > xΛ.pm
use utf8;
package xΛ;
sub foo { print "42\n" }
1;
^D
$ perl -Mutf8 -MxΛ -e 'xΛ::foo()'
42
$
まだ試していないこと:
- perl 5.16 のコンパイルに 1 日を費やして、Unicode の良さをさらに高めました。
- ソースをハッキングし、ユニコードにリモートで接続されているものをすべて有効にします。
- これが単なるディストリビューション名の制限ではないことを確認します(CPAN はこれを決して見ないので、私は気にしません)。
- これが問題になる可能性があるかどうかを確認し
Getopt::Long
ます。