sub MIME::Lite::new { my ($self, %params) = @_; ok (exists $params{To}, 'To address present'); ok ($params{To} eq 'wibble@wobble', 'To address correct'); ... goto $new; # <-------------- } #### After the "goto", not even "caller" will be able to tell that this routine was called first.