2010-12-18 5 views
3

인라인 대체 기능이있는 perl 스크립트를 작성하려고합니다. 이 스크립트 예제에서 파일을 찾았지만 파일 및 처리기를 지정하는 방법이 확실하지 않은 이유를 모르겠습니다.Perl 인라인 대체 Perl 스크립트

$^I = '.bak' # Call for in-place editing; make backups with a .bak suffix 

while (<>) 
{ 
    s/foo/bar/ 
    print; 
} 

답변

4

<>은 특별한 파일 핸들입니다.

특수 파일 핸들 : 기본 변수, 특수 파일 핸들처럼 <>

-<>로 작성 언어에 지름길이 작성하는 프로그램을 쉽게하기 위해 추가됩니다. 특수 파일 핸들은 모든 명령 행 인수를 파일 이름으로 취급하고 차례대로 엽니 다. 명령 행 인수가 없으면 열리고 STDIN에서 읽습니다. UNIX 규칙에 따라 "-"가 명령 줄 인수로 주어지면 파일 대신 STDIN이 열립니다. $^I 변수를 설정

Source

내부 편집을 할 수 있습니다 - 즉 파일을 직접 수정됩니다.

perl yourscript.pl somefile.txt 
+0

은 아아, 이제 의미가 있습니다 :) 감사합니다 :

는 예를 들어,이 작업을 수행 할 수있는이 스크립트를 사용합니다. – ard