my $regexp = Regexp::List ->new(modifiers => 'i',quotemeta => 0) ->list2re(@patterns);
####
(?-xism:(?i:(?=[acdilrsuw])(?:create (?:t(?:able|rigger)|function|default|pro[cedure]|rule|view)|d(?:rop (?:t(?:able|rigger)|default|function|rule|view)|elete )|s(?:p_(?:bind(?:efault|msg|rule)|drop(?:(?:g|row)lockpromote|key)|p(?:laceobject|rimarykey)|rename(?:_qpgroup)?|set(?:pg|row)lockpromote|unbind(?:efault|msg|rule)|add_qpgroup|chgattribute|foreignkey|hidetext)|etuser)|(?:alter|lock) table|(?:insert|update) |remove java|writetext)))
####
my $regexp = Regexp::List ->new(modifiers => 'i',quotemeta => 0) ->list2re(@patterns);
if ($string =~ /$regexp/) {
if ($& eq "insert" or $& eq "delete" or $& eq "update") {
do something with $string
}
call a subroutine here...
}