Perl의 FileHandle 모듈

Perlui Filehandle Modyul



Perl에는 파일을 생성하고 액세스하는 여러 가지 방법이 있습니다. 파일 처리기를 사용하여 Perl에서 읽기, 쓰기 또는 업데이트를 위해 파일을 열 수 있습니다. 파일 핸들러는 구조화된 프로그래밍 형식이나 객체 지향 프로그래밍 형식의 open() 메서드에서 사용할 수 있습니다. FileHandle 모듈은 Perl에서 파일 핸들러를 객체로 선언하고 이 객체를 사용하여 'FileHandle' 클래스의 다양한 속성과 메서드를 사용하여 파일을 생성하거나 액세스하기 위해 사용할 수 있습니다. FileHandle 모듈의 몇 가지 일반적인 방법과 Perl에서 파일 작업을 위해 FileHandle 모듈을 사용하는 방법이 이 튜토리얼에 나와 있습니다.

FileHandle의 몇 가지 유용한 방법

FileHandle 모듈의 일반적으로 사용되는 일부 메서드는 다음과 같습니다:

방법 목적
말하다 파일 크기를 바이트 단위로 계산하는 데 사용됩니다.
getc 파일 내용의 각 문자를 읽는 데 사용됩니다.
구하다 파일 포인터를 특정 위치로 이동하는 데 사용됩니다.
파일의 끝을 나타냅니다.
닫다 이전에 정의된 파일 핸들러를 닫는 데 사용됩니다.

Perl 파일 핸들의 예

FileHandle 모듈의 다양한 용도는 여러 예제를 사용하여 튜토리얼의 이 부분에 표시됩니다.







예 1: 새 파일 생성

FileHandle 모듈을 사용하여 새 파일을 생성하는 다음 스크립트를 사용하여 Perl 파일을 생성합니다. 사용자로부터 파일 이름을 가져와서 존재 여부를 확인합니다. 파일이 존재하지 않으면 1초 대기 후 “FileHandle” 클래스의 객체를 생성하여 쓰기용으로 파일을 연다.



#!/usr/bin/perl

엄격한 사용 ;
사용 경고 ;
5.34.0 사용 ;
파일 핸들 사용 ;

#사용자로부터 파일 이름을 가져와 생성
인쇄 '파일 이름을 입력하세요:' ;
내 $f = <>;
씹다 ( $f ) ;

#파일이 이미 존재하는지 확인하세요.
만약에 ( -e $f )
{
#파일이 존재하면 메시지 인쇄
말하다 '존재하는 파일입니다.' ;
}

또 다른

{
#파일 핸들러 객체 생성
내 $FileHandler = 파일핸들- > 새로운 ;
말하다 '파일에 쓰는 중...' ;
#1초만 기다려주세요
( 1 ) ;

#쓰기용 파일 열기
만약에 ( $FileHandler- > 열려 있는 ( '> $f' ) )
{
#파일에 텍스트 한 줄 쓰기
인쇄 $FileHandler '테스트 메시지입니다. \N 두 번째 줄입니다. \N ' ;
#파일 핸들러를 닫습니다.
$FileHandler- > 닫다 ;
}

}

산출:



출력에 따르면 'test.txt' 파일은 이전에는 존재하지 않았으며 이 파일은 두 줄의 텍스트로 생성되었습니다. 그런 다음 'cat' 명령을 실행하여 해당 내용으로 파일이 성공적으로 생성되었는지 확인합니다.





  p1-1

동일한 입력 값으로 다시 스크립트가 실행되는데, 이전에 “test.txt” 파일이 생성되었기 때문에 여기에는 “파일이 이미 존재합니다”라는 메시지가 출력됩니다.



  p1-2

예 2: 파일 내용 읽기

파일이 존재하는 경우 'FileHandle' 클래스를 사용하여 파일의 내용을 읽는 다음 스크립트를 사용하여 Perl 파일을 만듭니다. 파일 이름은 사용자로부터 가져옵니다.

#!/usr/bin/perl

엄격한 사용 ;
사용 경고 ;
5.34.0 사용 ;
파일 핸들 사용 ;

#사용자로부터 파일 이름을 가져와 생성
내 $f = <>;
내 $f = ;
씹다 ( $f ) ;

#파일이 이미 존재하는지 확인하세요.
만약에 ( -e $f )
{
#읽을 파일을 엽니다
내 $FileHandler = 파일핸들- > 새로운 ( ' < $f' ) ;
#파일 내용 인쇄
인쇄 < $FileHandler >;
#파일 핸들러를 닫습니다.
$FileHandler 닫기 ;
}

산출:

'test.txt' 파일의 내용은 현재 위치에 존재하므로 출력에 인쇄됩니다.

  p2

예 3: 파일에 콘텐츠 추가

비어 있지 않은 파일에 내용을 추가하고 파일 크기를 바이트 단위로 인쇄하는 다음 스크립트를 사용하여 Perl 파일을 만듭니다. 파일 이름은 사용자로부터 가져옵니다. 파일이 존재하고 데이터를 포함하는 경우 파일 끝에 텍스트 줄이 추가됩니다. 그렇지 않으면 메시지가 인쇄됩니다.

#!/usr/bin/perl

엄격한 사용 ;
사용 경고 ;
5.34.0 사용 ;
파일 핸들 사용 ;

#사용자로부터 파일 이름을 가져와 생성
인쇄 '파일 이름을 입력하세요:' ;
내 $f = <>;
씹다 ( $f ) ;

#파일이 이미 존재하고 비어 있지 않은지 확인하십시오.
만약에 ( -s $f )
{


내 $FileHandler = 파일핸들- > 새로운 ( ' >> $f' ) ;
#파일 크기를 인쇄합니다.
인쇄 '파일 크기는 ' . $FileHandler- > 말하다. ' 바이트. \N ' ;
말하다 '파일에 콘텐츠를 추가하는 중...' ;
#1초만 기다려주세요
( 1 ) ;

#파일 끝에 내용 쓰기
인쇄 $FileHandler '새로운 라인이에요. \N ' ;
#파일 핸들러를 닫습니다.
$FileHandler- > 닫다 ;
}
또 다른
{
말하다 '파일이 없습니다.' ;
}

산출:

출력에 따르면 “test.txt” 파일에 새 줄이 추가되고 파일 크기는 45바이트입니다. 그런 다음 'cat' 명령을 실행하여 내용이 파일에 제대로 추가되었는지 확인합니다.

  p3-1

결론


FileHandle 모듈은 파일을 읽고, 쓰고, 추가하는 Perl의 옵션 중 하나입니다. 이 튜토리얼에서는 간단한 예를 사용하여 이 모듈의 세 가지 다른 용도를 보여줍니다.