sub makeclosure { my @x=(@_); return sub { return @x } } sub yoursubhere{ #do stuff return makeclosure(val1,val2); #on error return bless sub {undef or die},"errormessage"; #### if(ref($return=&yoursubhere($a->(),$s->())ne"CODE"){ #error } &nextsub($return->())