Столкнулся с подставой, что в nix-ах
if (m/(.{10,})$)/)
{
...
}
символ \r (0x0dh) не покрывается квантификатором $ . В данном примере я выделял из входного файла все строки из 10 или более символов, но обнаружил, что пропускаются строки из 9 символов. Если сделать dos2unix на такой файл с ними, то работает нормально.
Способ с альтернативой
m/(.{10,})(\r|$)/
Данный пример для иллюстрации проблемы (длину можно и иначе пытаться считать), реальный код несколько сложнее.