Coplan has asked for the wisdom of the Perl Monks concerning the following question:
for my $artistkey (0..$#is_guest) { # Don't do anything if the artist is not a guest next if ($is_guest[$artistkey] == 0); # IF the artist exists, we need only to update some information my $sth = $dbh->prepare("SELECT FROM artists (alias) WHERE alias = +?"); $sth->execute($artist_alias[$artistkey]); # The Part In Question: if ($sth->rows >= 1) { my $sth = $dbh->prepare("UPDATE artists SET email=? WHERE alias= +?"); $sth->execute($email[$artistkey], $artist_alias[$artistkey]); } # Now for Redundancy next if ($sth->rows >= 1); my $sth = $dbh->prepare("INSERT INTO artists (alias, email, is_gues +t) VALUES (?, ?, ?)"); $sth->execute($artist_alias[$artistkey], $email[$artistkey], $is_gu +est[$artistkey]); }
I'd like to avoid that little bit about redundancy. If at all possible, i'd like to consolidate the 'if' statement and the 'next if' into one, while still doing what's in the brackets. In an effort to reduce redundancy, I made the following changes. The following change gave me problems at compile time:
next if ($sth->rows >= 1) { my $sth = $dbh->prepare("UPDATE artists SET email=? WHERE alias= +?"); $sth->execute($email[$artistkey], $artist_alias[$artistkey]); }
Any ideas?
--Coplan
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Test break, but still doing
by danger (Priest) on Feb 21, 2001 at 11:18 UTC | |
by Coplan (Pilgrim) on Feb 21, 2001 at 11:32 UTC | |
by danger (Priest) on Feb 21, 2001 at 11:37 UTC | |
by Tyke (Pilgrim) on Feb 21, 2001 at 13:26 UTC | |
|
Re: Test break, but still doing
by archon (Monk) on Feb 21, 2001 at 11:20 UTC | |
|
Re: Test break, but still doing
by magnus (Pilgrim) on Feb 21, 2001 at 13:53 UTC | |
by tye (Sage) on Feb 22, 2001 at 00:05 UTC |