in reply to An odd flat file database question

if you assume that $first and $last are the first and last catalog numbers the person wants, you could do this:
open FILE, "somefile.txt" || die "Blah: $!\n"; while(<FILE>){ m/^(\d+)\|/; print if(($first <= $1) and ($1 <= $last)); }
I'm not sure the regex is syntatically right. It's supposed to match all digits from the start of the line to the first pipe. it isn't tested, but I think it will work.

Michael.