Существует File::Tail . Не знайте, помогает ли это?
Функция literate списков может быть полезна, например, для введения переносов строки в символы подчеркивания:
\lstset{ literate={\_}{}{0\discretionary{\_}{}{\_}}% }