in reply to Next in IF statement question!
Write Perl not C (see the for loop below). Use strictures and lexical variables. Use early exits (that's yes use next to your question btw). Oh, and use place holders in your SQL:
for my $datum (@{$mydata}) { my $account_number = $datum->{'account_number'} || ''; my $name = $datum->{'name'} || ''; my $email = $datum->{'email'}; if (! $email) { bad_email("No email address found '$account_number'."); next; } if ($email !~ /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) { bad_email( "Invalid email address - '$email' on account '$account_num +ber'."); next; } next if ($name eq '') || ($account_number eq ''); # Send emails send_email("send my stuff here"); my $data = qq(<tr><td align="left">$account_number</td><td>$email< +/td></tr>); push @all_data, $data; my $sql = "update table set date = ? where number = ? and date = ? +"; exec_single_sql($sql, $db, $datetime, $account_number, $datum->{da +te}) or die "Unable to update table"; }
|
|---|