名前: トノ 日時: 2006-02-14 22:29:21 IPアドレス: 222.159.242.*
>>41365 本題からはずれてしまって申し訳ないですが‥‥ 》 cmd.exe の場合には 》 perl -e "use Tk; print $Tk::VERSION\n" 》 のようにします。 》 perl -e "use Tk; print "$Tk::VERSION\n"" 》 でも ok です。 当方の環境(Windows 2000 Pro SP4)では、どちらもエラーになるようです。 Perl/Tk は入れてないので、Cwd モジュールで試したのですが、次のように なりました。 H:\>perl -e "use Cwd; print $Cwd::VERSION\n" Backslash found where operator expected at -e line 1, near "$Cwd::VERSION\" (Missing operator before \?) H:\>perl -e "use Cwd; print "$Cwd::VERSION\n"" Backslash found where operator expected at -e line 1, near "$Cwd::VERSION\" (Missing operator before \?) コマンド・プロンプトでは二重引用符のネストはできないと理解しているので、 私としてはこれで「予想どおり」なのですが、角藤先生や大友さんのところで エラーにならないのなら、どこに違いがあるのか、不思議に思っています。 OS の違いなのか、設定の違いか、perl のバージョンによるのか、 あるいは Cwd と Perl/Tk では異なってくるのか‥‥ ちなみに、次のような入力だと、エラーなく表示されます。 H:\>perl -e "use Cwd; print qq/$Cwd::VERSION\n/" 2.01 H:\>perl -e "use Cwd; print $Cwd::VERSION" 2.01 perl のバージョン表示は次のとおりです。 H:\>perl -v This is perl, version 5.005_03 built for MSWin32-x86-object (with 2 registered patches, see perl -V for more detail) Copyright 1987-1999, Larry Wall Japanization patch 4 by Yasushi Saito, 1996 Modified by Hirofumi Watanabe, 1996-1999 jperl5.005_03-990822 SJIS version Binary build 522 provided by ActiveState Tool Corp. http://www.ActiveState.com Built 21:32:17 Nov 6 1999
この書き込みへの返事: