my $meth = $self->can('home') || $self->can('house') || confess(q{Can't determine home}); my $home = $self->$meth(1); #### my $home = ($self->can('home') || $self->can('house') || confess(q{Can't determine home}))->($self, 1); #### my $meth_name = (grep {$self->can($_)} qw(home house))[0] || confess(q{Can't determine home}); my $home = $self->$meth_name(1);