"Прыгать" в файле можно через seek( ), но там нет позиционирования по строкам.
В Perl Cookbook предлагаются несколько вариантов:
1) линейное чтение (читаешь файл, пока не встретишь нужную строку)
2) построение индекса типа [номер строки]->[индекс в файле] - подходит для редко изменяемых файлов
3) использование DB_File.
Самый легкий способ - первый
Удобный - последний.