in reply to simple search in a file

If you know exactly what your record will look like, there's no reason to use pattern matching. You could build the record you're looking for and compare using 'eq'.

Post the rest of your program here so we can see exactly what you're doing.

--- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';