オブジェクトに任意のメソッドが存在するか確認をする

use strict;
use warnings;
use Sample;

my $yourclass = Sample->new();
if ($yourclass->can('yourmethod')) {
    print "yourmethod is given\n";
} else {
    print "yourmethod is not given\n";
}

can は Perl でオブジェクトを扱うときのユニバーサル・メソッドとして定義されている。

上記の例でいえば、オブジェクト $yourclass からユニバーサル・メソッドの can を呼び出し、存在するかどうかを確認したいメソッド名を引数として与えることで、存在を確認したいメソッドが定義されているか確認できる。