while( $row = $sth->fetchrow_hashref) { my($con, $job, $pic) = GetContactJobPic( $dbh, $row->{jobtype} ); MailNotifyConJobPic( $row->{email}, $con, $job, $pic, ... ); } ... sub GetContactJobPic { my( $dbh, $jobtype ) = @_; my $hashref = $dbh->selectrow_hashref( q{Select * from database where jobtype=? AND active='yes' ORDER BY RAND() LIMIT 1}m {}, $jobtype ); return @{$hashref}{qw' contact jobnum picture'}; } sub MailNotifyConJobPic { my( $mail, $con, $job, $pic, ... ) = @_; ... ## Mail::Sendmail or ... }