in reply to RFC: Simulating Ruby's "yield" and "blocks" in Perl

For gawds sake why would I want to do anything that silly, replacing something readable with the use of an ill-designed and ill-named nonsense? Yieiaild? There's nothing in the dictionary that would match the way this keyword is used in Ruby. Yeah, yield as a keyword related to coroutines, fine. You yield the execution and let someone outside the subroutine decide when to continue, but that's not what it means in Ruby!

sub test (&){ my $print = shift; say "You are in the method"; $print->(1); say "You are again back to the method"; $print->(2); } test { say "You are in the block $_[0]" };

is not only more readable, but also more extensible! You are not restricted to a single "callback" and if you need to pass the subroutine reference/closure/block (I know the differences, thank you very much) somewhere else you can! Try that in Ruby!

BTW, does the |a,b| finally declare new variables in Ruby or does it still reuse the a and b if they happen to be defined? Yeah, I know, a method in Ruby should not take more than four lines ... it doesn't matter you end up having hundreds of them.

Enoch was right!
Enjoy the last years of Rome.