1. не найти в $PATH?
2. читать построчно, если команды в одну строку, если не в одну -- парсить файл, что сложнее. тогда либо SQL::Parser (не пробовал), либо Parse::RecDescent, либо какой иной из Parse::*. или вручную писать парсер, который будет выражения выдирать.