my $sql = q{ SELECT b.shpritz , b.fweep , b.sproing FROM beta b INNER JOIN alpha a ON b.beta_id = a.beta_id WHERE a.bloop = ? AND a.glank = ? }; #### My::DBI::beta->set_sql(by_alpha => $sql); #### my $skreek = My::DBI::beta->MAGIC_by_alpha(bloop => 1, glank => 2); #### my $glink = (My::DBI::beta->search_by_alpha( ... ))[0]; #### my $foomp = My::DBI::beta->search_by_alpha( ... )->next; #### sub my_beta_from_alpha { my ($class, %args) = @_; my $sth = $class->sql_by_alpha(@args{qw(bloop glank)}); $sth->execute; my $result = $sth->fetchrow_arrayref; return @$result; }