# methods don't check prototypes... at all. sub print_string_bad($) { print $_[0]->stringify() # Will pass the prototype, yet break since $_[1] will be # undef in stringify } print_string_bad($obj);