파일 핸들에 대한 몇 가지 지식

3529 단어 파일
6개의 특수 파일 핸들은perl이 보존하고 있습니다. 그것들은: stdIN, stdOUT, stdERR, DATA, ARGV, ARGVOUT입니다.
인코딩 방식 파일 읽기 지정
open CONFG, '<:encoding(UTF-8)','dino';

encoding(UTF-8)과 쓰기만:utf8의 차이점은 입력이나 출력 데이터가 정말 합법적인utf-8 문자열인지 여부를 고려하지 않습니다.인코딩 () 형식을 사용하면 다른 종류의 인코딩을 지정할 수 있습니다.다음 명령을 사용하여 Perl이 이해하고 처리할 수 있는 모든 문자 인코딩 목록을 인쇄할 수 있습니다.
perl -MEncode -le "print for Encode->encodings(':all')"

저장된 파일의 행이 CR-LF로 끝나는 경우 해당 파일에 특수한 레이어를 사용해야 합니다.
open BEDROCK,'>:crlf', $file_name;

하지만 CR-LF 스타일이라면 변환 후 줄 바꿈 문자가 하나 더 생길 수 있으니 주의하세요.DOS 스타일의 파일을 읽을 때도 다음과 같이 변환할 수 있습니다.
open BEDROCK,'<:crlf', $file_name

파일을 읽을 때 Perl은 모든 CR-LF를 유닉스 스타일의 줄 바꿈 문자로 변환합니다.
치명적인 오류를 자동으로 검출하는 것은 Perl5.10부터 시작되며, 칭찬받는 autodie 컴파일 명령은 이미 표준 라이브러리의 일부가 되었다.use autodie;
데이터를 파일 핸들에 출력할 때 기본적으로 버퍼 처리를 거칩니다.그러나 특수 변수 $|를 1로 설정하면 현재 기본 파일 핸들이 출력 작업을 할 때마다 버퍼를 새로 고칩니다.
select LOG;

$|=1 ; #  LOG 

select STDOUT;

print LOG "This gets written to the LOG at once!
";

표량 변수 중의 파일 핸들은perl5.6에서 시작하여, 우리는 이미 파일 핸들을 표량 변수에 넣을 수 있으며, 굳이 나체를 사용하지 않아도 된다.이 정도의 차이는 보지 마라, 가져오는 이점은 정말 적지 않다.표량 변수가 되면 파일 핸들은 하위 프로그램의 매개 변수로 전달되거나 수조, 하시에서 정렬될 수 있다.그러나 우리가 쓴 것은 응급적인 짧은 스크립트이기 때문에 나체로 하는 것이 더 빠르고 변수로 파일 핸들을 저장할 필요가 없다.습관 변수 이름 뒤에 추가_sh는 파일 핸들을 저장하는 데 사용되는 변수임을 나타냅니다.
open my $rock_fh , '<' , 'rocks.txt';

좋은 웹페이지 즐겨찾기