undef(未定義値)に対してメソッドを呼ぶと出ます。オブジェクトを作り忘れた、または検索が空振りしたときに起こります。
出るコード
use strict;
my $user;
print $user->name(); # $user はまだ undef
エラーメッセージ
Can't call method "name" on an undefined value at script.pl line 3.
直し方
呼ぶ前に if (defined $user) で確認します。コンストラクタ(Class->new)の呼び忘れがないかも確認します。