Hier mal ein Beispiel Skript:
#!/usr/bin/perl
use strict;
use warnings 'all';
my $a = "my.col like 'xyz'";
# oder "irgendwas and table.column like 'irgendwas' and irgendwas"
# oder "table.column like 'irgendwas' and irgendwas"
# oder "irgendwas and table.column like 'irgendwas'"
@a = $a =~ /^(.+? and )?(\w+\.\w+) like ('.*?')( and .*)?$/;
for (1..@a)
{
print "$_: ". ($a[$_-1] or "(undef)") ."\n";
}
Ergebnis:
1: (undef)
2: my.col
3: 'xyz'
4: (undef)
MfG PerlProfi