$you_know_what_I_mean = < 1, esoteric=> 1, symbolic=> 1 }; push my @poems, { poem => __FILE__, understood => 0, }; if (critics_accept($obfuscator)) { for $poem (@poems) { while (understand($poem)) { explain ($poem, 'gladly') } $you_actually_know_what_I_mean++ if understand($poem); } print $you_know_what_I_mean unless $you_actually_know_what_I_mean; } sub critics_accept { $poet = shift; ( $poet->{obscure} and $poet->{esoteric} and $poet->{symbolic}) } sub understand { (shift)->{understood} } sub explain { (shift)->{understood}-- }