[227] インタプリタとコンパイラ
投稿者:kon
2007/02/20 02:13:25
いつも楽しく拝見しています。
久しぶりに投稿します。konです。
質問なんですが、
共通機能でログを作成する機能をPerlで作成する事になりました。
その際、ログファイルに情報を1行ずつ書くのですが
必ず最後にスペースが入って改行される現象がありました。
原因は
my $string = sprintf("%s %s %s\n", $day, $message);
上記のコードで、2番目の%sの後のスペースが表示されて、3番目の%sが引数のエラー
にならない事が分かりました。
Cなどのコンパイラ型の言語なら、コンパイルエラーになりますが
Perlのようなインタプリタ型の言語は、なぜエラーにならないのでしょうか?
(strictはいれてますが、ワーニングにもなりません)
Perlのマスターが言うには、”Perlはアバウトだからね”と意味不明(論理的でない?)
回答が返ってきました。私も、あまりPerlをやっていないのでとても
気持ちが悪いです。