そのクラス(パッケージ)に定義されていないメソッドを呼ぶと出ます。メソッド名のタイプミスでよく起こります。
出るコード
package Animal;
sub new { return bless {}, shift; }
package main;
my $a = Animal->new;
$a->speak(); # speak というメソッドは定義していない
エラーメッセージ
Can't locate object method "speak" via package "Animal" at script.pl line 6.
直し方
メソッド名のスペルを確認します。継承(our @ISA や use parent)で親クラスにあるはずなら、継承設定が正しいかも確認します。