http://www.perlmonks.org?node_id=649692

I've had this kids classic stuck in my head all morning. I thought that rewriting it in perl may help budge it.
Update: It didn't.
#!/usr/bin/perl @num = qw|zero one two three four five six seven eight nine ten|; for (1..10) { print mow($_) . " went to mow,\nwent to mow a meadow\n"; print mow($_) . ( $_ == 1 ? " and his dog\nwent to mow a meadow\n" : ", " ) for (reverse 1..$_); } sub mow($) { "$num[$_] m" . (shift == 1 ? 'a' : 'e') . 'n'; }
--
Linux, perl, punk rock, cider: charlieharvey.org.uk.