There are a couple of things wrong with your regular expression...
Square brackets are not a grouping construct. They are a character class. /[INSERT|CREATE]/ will not match the string "INSERT". It matches a single character which must be one of these: ACEINRST|. What you want are rounded parentheses: /(INSERT|CREATE)/.
Your assignment to my ($start, $query) seems to be assuming that two variables will be assigned. However, the things that get assigned are the matches of so-called capturing subexpressions within the query. Subexpressions are things within rounded parentheses; they are capturing subexpressions unless you do something to make them non-capturing, like placing ?: just inside the opening parenthesis.