C:\Documents and Settings\Administrator\Desktop\scripts>perl form.pl
SELECT engine, lable1, lable2, lable3, lable4, settings1, settings2, settings3, settings4 FROM special_fields WHERE engine IN (".join(",",map(->quote (), )).") AND (settings1="public" OR settings2="public" OR settings3="public")
C:\Documents and Settings\Administrator\Desktop\scripts>
####
print qq(SELECT engine, lable4, settings1, settings2 FROM special_fields WHERE engine IN (".join(",",map($dbh->quote($_), @choices)).") AND
(settings1="public" OR settings2="public" OR settings3="public"));
# removed some of the columns just to clean it up a bit
####
C:\Documents and Settings\Administrator\Desktop\scripts>perl form.pl
SELECT engine, lable1,settings3, settings4 FROM special_fields WHERE engine IN (".join(",",map(->quote
(), red blue orange green)).") AND
(settings1="public" OR settings2="public" OR settings3="public" )
C:\Documents and Settings\Administrator\Desktop\scripts>