in reply to Regular Expressions

You should find the second operand in $4 after any successful match of your regular expression. If you omit the unnecessary brackets around =< it'll show up in $3 - where I guess you were expecting it. (BTW: You're probably not trying to parse Perl code, do you? Otherwise you want to look for "a==b" instead of "a=b", for "a>=b" instead of "a=>b", and for "a<=b" instead of "a=<b".)

Anyway, your current regular expression won't recognize the operators != or => at all. Unless your program is supposed to recognize and handle the input of undefined operators split /(\W+)/ (as suggested above) might be a sufficient alternative. If you want to throw an error message on something like a=[b you can use

  /^(.*?)(!=|=>|=<|[<=>])(.*)/

and react appropriately if there's no match.