Я хочу прочитать входной файл по строкам, но этот файл имеет неизвестный символ окончания.Perl - неизвестный символ конца строки
Редактор vim
также не знает этого, он представляет этот символ как ^A
и сразу же начинается с символов новой строки. То же самое для perl
. Он пытался загрузить все строки за один раз, потому что он игнорирует этот странный символ конца строки.
Как установить этот символ как конец строки для perl? Я не хочу использовать для этого какой-либо специальный модуль (из-за нашей строгой системы), я просто хочу определить символ (может быть, в коде hex
) конца строки.
Другой вариант - преобразовать файл в другой, с хорошим символом конца строки (заменить их). Могу ли я сделать это простым способом (что-то вроде sed
на входном файле)? Но все должно быть сделано в perl.
Возможно?
Теперь мое чтение часть выглядит следующим образом:
open (IN, $in_file);
$event=<IN>; # read one line
Спасибо! Он работает очень хорошо :) Спасибо за объяснение^Персонажи, мне это было нужно. – srnka
при использовании '$ /' используйте его как 'local $/= '^ A''. Потому что это встроенная специальная переменная, а 'local' будет изменять ее только для этого блока и не повлияет на другую часть скрипта. – 2013-02-08 12:44:29
'^ A' представляет символ« начало заголовка »(' '\ cA" 'aka' chr (0x01) '). Линейный канал ('' \ cJ "' aka 'chr (0x0A)') будет представлен с использованием '^ J' в этой нотации. – ikegami