I would recommend this approach, which searches for the โcorrectโ MAC address at word boundaries in a haystack. If the MAC address moves in the line, it will still work, and if $vip not determined after this statement, the MAC address is not found. Let me know if I can clarify anything.
my ($vip) = "..." =~ /\b((?:[0-9A-Fa-f]{1,2}[:-]){5}[0-9A-Fa-f]{1,2})\b/;
source share