좋아요. 문자열의 첫 번째 항목을 삭제하려고합니다. 즉, "개"라고 말하지만, 파일에는 첫 번째 항목 만 삭제하고 싶습니다. 그래서 파일이 읽으면 :Perl 첫 번째 항목 삭제
개가 행복했다.
개가 달리는 것을 좋아했습니다.
출력은 행복했다
될 것이다.
개가 달리는 것을 좋아했습니다.
나는 다음과 같은 코드가 있습니다
#!/usr/local/bin/perl
use warnings;
use strict;
my $file = $ARGV[0];
my $out = $ARGV[1];
open (IN, "<$file");
open (OUT, ">$out");
while(<IN>){
s/dog/ /;
print OUT $_;
}
close IN;
close OUT;
을 그리고 그것은 작동하지만 대신 첫 번째 인스턴스를 repacing, 그것은 단어의 모든 인스턴스를 대체합니다. 모든 인스턴스를 바꾸기 위해 전역 수정 자 g를 사용해야한다고 생각했습니다. 검색하는 문자열의 모든 인스턴스가 대체되는 이유는 무엇입니까? 아마 내가 보지 않을 간단한 오류 일 겁니다.
@eckes는, 그래, 내가 질문을 오해 발견하고 분 전을 고정. – ikegami
위대한 작품. 그러나 명확히하기 위해, infile> outfile은 infile outfile과 어떻게 다릅니 까? – user1440061
'script.pl infile outfile'을 사용했다면, 내 코드는'infile'과'outfile'을 모두 입력 파일로 취급 할 것입니다. – ikegami