in reply to if expression

Let's just look at the first error that Perl tells you; usually the following errors are results of the first error:

syntax error at pull_out_tables.pl line 24, near "if $line "

Now, let's look at line 24:

if $line not =~ (/INSERT INTO Message_pool)/{

Now, I can propably guess what you want to say here, but Perl doesn't. There is a Mark-Jason Dominus quote in here, but I'll limit myself to point you to perldoc perlop. Perl isn't that good at guessing what you want. Likely you want the following code instead:

if ($line !~ /INSERT INTO Message_pool/) {

You should also try to reduce your scripts to the minimum snippet that fails instead of posting a whole program. I also noticed you talking in the CB about this earlier, and people already told you how the negation regex operator works. Why didn't you listen to them?