#!/usr/bin/perl use strict; use warnings; my $clause = qq(failure_reason <> 'Response=X'); my @operators = qw ( <> != !< !> <= >= < > = ); my $opr_regex = '(\s*' . join('\s*|\s*', @operators) . '\s*)'; my ($fld,$opr,$val) = split /$opr_regex/, $clause, 3; print "\n\$opr_regex = $opr_regex\n\n"; print "\$clause = $clause\n\n"; print "\$fld = |$fld|\n"; print "\$opr = |$opr|\n"; print "\$val = |$val|\n\n";