left \1=left \2=
right \1= \2=right
rightabc \1= \2=rightabc
leftright \1=left \2=right
leftrightabc \1=left \2=rightabc
####
s/(.*)(right)?/\1 <> \2/
echo "left"|perl -ne 'print if s/(.*)(right)?/\1 <> \2/' left <>
echo "right"|perl -ne 'print if s/(.*)(right)?/\1 <> \2/' right <>
echo "leftright"|perl -ne 'print if s/(.*)(right)?/\1 <> \2/' leftright <>
####
s/(.*(?=right.*)|(.*))/\
echo "left"|perl -ne 'print if s/(.*(?=right.*)|(.*))/\1 <> \2/' left <> left
echo "right"|perl -ne 'print if s/(.*(?=right.*)|(.*))/\1 <> \2/' <> right
echo "leftright"|perl -ne 'print if s/(.*(?=right.*)|(.*))/\1 <> \2/' left <> right