Honza was the only golfer to find the clever trick of avoiding eval by using the s///ee construct.
-nl s/|[aeiouy]/"y!$&!!c%2|$.%2&&next;'$&'"/gee;print 53 honza I could not restrain myself from whittling this to 49 (see below). We now have 5 quite different ways to break the 50 barrier! -p $_ x=1&~$.&split$&while aeiouy=~/.?/g 40 eugen -p for$a(/[aeiouy]?/g){$_ x=1&~$.&split$a} 42 bob -p $_ x=1&~$.&~s/$&/$&/gwhile'aeiouy.'=~/./g 44 klem -p $_ x=eval"\$|--@{[<&y&{a,e,i,o,u,y,}&&c>]}" 46 bob -p $_ x=1&eval"~$.@{[<&y&{a,e,i,o,u,y,}&&c>]}" 46 bob -p $==$.&1;$=^=7 .ord for/[aeiouy]?/g;$_ x=!$= 46 ivey(w) -p $==--$|;$=^=7 .ord for/[aeiouy]?/g;$_ x=!$= 46 ivey(w) $_=aeiouy;s!!\n\$|--&y-!g;print eval"grep$_--c,<>" 49 ton -n ($a=aeiouy)=~s!!\n\$|--&y-!g;eval"$a--c"&&print 49 ton -n s/|[aeiouy]/"1&~$.&y!$&!!c?\$&:next"/gee;print 49 honza(w) -n s/[aeiouy]?/"1&~$.&y!$&!!c?\$&:next"/gee;print 49 honza(w) where (w) above denotes "whittled". /-\ndrew