У меня есть скрипт, который читает большой файл построчно. Разделитель записей ($/
), который я хотел бы использовать: (\n
). Единственная проблема состоит в том, что данные в каждой строке содержат символы CRLF (\r\n
), которые программа не должна считать концом строки.
Например, вот пример файла данных (с выписанными символами новой строки и CRLF):
line1contents\n
line2contents\n
line3\r\ncontents\n
line4contents\n
Если я установлю $/ = "\n"
, то третья строка будет разбита на две строки. В идеале я мог бы просто установить $/
в регулярное выражение, которое соответствует \n
, а не \r\n
, но я не думаю, что это возможно. Другая возможность - прочитать весь файл, а затем использовать функцию split для разделения на регулярное выражение. Единственная проблема заключается в том, что файл слишком велик для загрузки в память.
Есть предложения?