eval
Perlでは、関数を動的に使用および呼び出すことができることを知って*{$func_name}
いますが、オブジェクトのメソッドを使用してこれをどのように行うのですか?
例えば
EZBakeOven
sub make_Cake { ... }
sub make_Donut { ... }
sub make_CupCake { ... }
sub make_Soup { ... }
sub make{
my($self,$item) = @_;
if( defined $self->make_$item ){ #call this func if it exists
$self->make_$item( temp => 300, with_eggs => true );
}
}
だから私が
$self->make('Cake');
#or maybe I have to use the full method name
$self->make('make_Cake');
それは呼び出す
$self->make_Cake();