in reply to Split command

As others have said, why do you want to use split? Come to that, why do you want to put the commands into an array? Anyway, here is some basic code structure which might get you going, but you will have to change the connect statement for your database:
#!/usr/bin/perl use strict; use warnings; use DBI; # You do not say where the data is coming from # See below my @sql_statements = <DATA>; # Read data into an array # Do a prepare statement - this is for mysql: yours will be different my $dbh = DBI->connect('DBI:mysql:database_name', 'user','passwd') || die "No database connection: $DBI::errstr"; # You don't need the array, you can just use <DATA> here instead for my $sql (@sql_statements) { my $sth = $dbh->prepare($sql); $sth->execute() || die "$sql: $DBI::errstr"; while (my $ref = $sth->fetchrow_array()){ # Do some stuff with the retrieved row } $sth->finish(); } $dbh->disconnect(); __DATA__ SELECT poid_id0 FROM SYSTEM_CHANGES_T WHERE account_obj_id0 = 7636217 +1; SELECT poid_id0 FROM TINDRA_QUEUE_T WHERE account_obj_id0 = 76362171; SELECT poid_id0 FROM TSCID_BILL_SUPPRESS_T WHERE account_obj_id0 = 76 +3621 71; SELECT poid_id0 FROM TSCID_T WHERE account_obj_id0 = 76362171; SELECT poid_id0 FROM WAL_ERROR_T WHERE account_obj_id0 = 76362171; SELECT poid_id0 FROM WAL_PENDING_T WHERE account_obj_id0 = 76362171; SELECT poid_id0 FROM WAL_SIMULATOR_INSTANCE_T WHERE account_obj_id0 = +76362171