The Python Challenge on Ruby/Perl

ちなみにこれをRubyで書くと、


i=0
while (l=gets) do
i=1 if l =~ /<!--/
i=0 if l =~ /-->/
l.split(//).each{|e|print e if e =~ /[a-zA-Z :]/} if i==1
end
Perlではパターンマッチング部分を

$i=1 if $_ =~ /<!--/;
と書いた場合と、

$i=1 if(grep(/<!--/,$_));
と書いた場合、挙動がいっしょなのに、Rubyで同箇所を

i=1 if l.grep(/<!--/)
のように書くと、上のコードと挙動が異なる!!111ぬぬ
これは両言語のgrepの仕様差異によるものだ。

次エントリに続く。