This isn't going to win any awards; for one thing it's too many lines long to fit within the general 4-line rule, due to the incorporation of the tongue twister into the code. Maybe it stands better as poetry. ;) It's also an example of a problem that shouldn't be tackled with a regular expression. But JAPH's aren't necessarily supposed to be models of clean, efficient code. And it's a fun exercise to trace through what's going on. Still a novice, I'd love to hear comments that will help me along my path of learning.

Here's the code...

$_=q/ASDFGHJKLQWERTYUIOP asdfghjklqwertyuiopzxcvbnm.=~/;($if,$peter,$p +iper,$picked,$a,$peck,$of,$pickled,$peppers,$then,$how,$many,$did,$he +,$pluck)=?.{6}(.).*O(.).*( )(.)(.).{3}(.).(.)(.)..(..)(.).(.).(.).*x( +.).*b(.).(.)?;print qq?$if$how$a$then$piper$picked$he$many$then$peck$ +peppers$piper$peter$peppers$pickled$piper$peck$picked$did$of$peppers$ +pluck$/?||split/\$/

Enjoy!!

Dave

"If I had my life to do over again, I'd be a plumber." -- Albert Einstein