while () { # match the first word # in lines that don't contain "vet" anywhere push(@array, $1) if m/^(?!\w+\b.*vet)(\w+)/i; } print("@array\n"); __DATA__ David Veterinarian Jackie Orthopedist Karen Veterinarian Vetch Orthopedist Vetch Veterinarian