in reply to How can one define value to call method "display" at line 45?
What happens if find_student() doesn't find the given student? Undef is returned, which the code then attempts to use as a student object by invoking the display method. You're going to have to check the return value before doing this.