$thing
a がパッケージとして祝福されたオブジェクトかどうかを確認したい(例: __PACKAGE__
)。1つのアイデアは次のとおりです。
use Scalar::Util qw(blessed);
defined blessed $thing && blessed $thing eq __PACKAGE__
blessed
の戻り値が定義されているかどうかのチェックを回避する、より良いおよび/またはよりエレガントな方法はありますか?
別のアプローチは(blessed $thing or '') eq __PACKAGE__
ですが、パッケージを合法的に空にすることができるかどうかはわかりません。
また、 Perl Monksに基づくUNIVERSAL::isa($thing, __PACKAGE__)
も別の方法ですが、そのアプローチはより多くのことを許容します。