#! perl use strict; use warnings; while () { if (/^([0-9a-fA-F]{2})\1/) { print "Found 4 repeating characters: $1$1\n"; } elsif (/^([0-9a-fA-F]{4})\1/) { print "Found 8 repeating characters: $1$1\n"; } elsif (/^([0-9a-fA-F]{8})\1/) { print "Found 16 repeating characters: $1$1\n"; } else { print "Found 0 repeating characters\n"; } } __DATA__ 1234FBABCBED062405E56F853AAE238C4428FBABCBED0624 0A0AFBABCBED062405E56F853AAE238C4428FBABCBED0624 0A1B0A1BCBED062405E56F853AAE238C4428FBABCBED0624 0A1B2C3D0A1B2C3DCBED062405E56F853AAE238C4428FBAB 01230A0AFBABCBED062405E56F853AAE238C4428FBABCBED