use warnings; use strict; while (){ chomp; print "$_ matches\n" if /ABC(?!Z)/; } __DATA__ ABC ABCD ABCZ ABCZADF ABCDZADF AB XFC 123 AB1 ABC1 XXXABCZ2 ZZZABCDZ2 __END__ ABC matches ABCD matches ABCDZADF matches ABC1 matches ZZZABCDZ2 matches