파일이 생성 된 플랫폼과 관계없이 개조 문자를 chomp하는 방법을 찾고 있습니다.유닉스, 윈도우 및 맥 텍스트 파일에서 다중 플랫폼 chomp 작동
perlport#newlines에 의해 지정된 문제는 개행 문자가 각 플랫폼에서 다르게 인코딩이다 : 그러나 유닉스
012 \ \ 015 012 \ WINDOWS
015 \을
맥
, 씹는 플랫폼에 따라 다르며 실행중인 플랫폼의 문자 또는$/
변수로 설정된 문자 만 제거합니다.
# multiplatform chomp
s/\015?\012?$//;
가 올바른 해결책인가, 아니면 내가 어떤 경우에는 누락하고 더 나은 사람이있어 오전 :
지금까지 내가 일하게 될 것으로 보인다 다음 정규식 함께했다?
당신이 가진 파일을 읽는 경우 '동안 () {...}'당신은 단지 유닉스 시스템에서 맥 파일을 하나 개의 라인을 얻을 수 있습니다. chomp가 이론적 인 목적을위한 것이 아니면, 파일을 논리적 인 라인으로 분리해야합니다. –
jmz
나는 마침내 맥 오에스가 마침내 위선적으로 일했다고 생각했다. 즉, OSX 이후로 * nix 방식으로. – cHao
예, 기존 시스템 및 파일로 작업하지 않는 한 구형 Mac 라인 엔딩이 지금은보기 드뭅니다. 그리고이 경우조차도 파일을 처리하기 전에 파일을 유닉스 형식으로 변환하기 만하면됩니다. – Ether