В поисках способа разбивать символы новой строки независимо от платформы, на которой были созданы файлы.
Проблема, указанная в perlport # newlines , заключается в том, что символы новой строки кодируются по-разному на каждой платформе:
\ 012 unix
\ 015 \ 012 windows
\ 015 mac
Однако chomp зависит от платформы и удаляет только символ дляплатформу, на которой он работает, или что-либо, установленное переменной $/
.
До сих пор я придумал следующее регулярное выражение, которое, кажется, работает:
# multiplatform chomp
s/\015?\012?$//;
Это правильное решениеили я пропускаю некоторые дела и есть лучший?