$k='(\s+\w+ )'; $re=qr#(?:$k;$k|;$k|$k;)#; $\="\n"; print " AAA ;" =~ $re; print " BBB ; CCC ;" =~ $re; print " ; DDD " =~ $re;