{ my $SQL; BEGIN { my @FIELDS = qw( field1 field2 field3 ); my @PLACEHOLDERS = ('?') x @FIELD; local $" = ','; $SQL = "INSERT (@FIELDS) INTO foo VALUES (@PLACEHOLDERS)"; } sub run_insert { my $dbh = shift || return; my $sth = $dbh->prepare($SQL); $sth->execute(@_); $sth->finish; } }