sub storeData { my $self = shift; my @fields = qw/ foo bar baz quid quux /; my $insStmt = "INSERT INTO table VALUES ( " ; $insStmt .= "? " x ( scalar( @fields ) +1 ); $insStmt .= " ) "; my $updStmt = "UPDATE table SET " . join( "$_ = ?, ", @fields; $updStmt .= "WHERE id = ? "; $useSql = ( $id ? $updStmt : $insStmt );