파일에서 줄을 읽고 다른 파일에 출력을 쓰려고합니다. 나는 이것을 달성하기 위해 open을 사용하고 있습니다. 그러나 첫 번째 파일에서 원하지 않는 줄을 제거 할 수 없습니다. 여기에 문제가 있습니다.
다음 줄이있는 텍스트 파일이 있습니다.
Project1_Employees
Matt Stone
Trey parker
Eric Cartman
Kenny
Project2_Employees
Stan
Matt Stone
Trey Parker
Kyle
내 코드를 사용하여 이름을 정렬하고 고유 이름을 인쇄하고 있습니다. 하지만 Project1_Employees 및 Project2_Employees 줄을 제거 할 수 없습니다. 이것은 텍스트 파일의 일부일뿐입니다. 그러한 라인이 수백 개 있습니다.
open(FH, '<employeenames.txt');
next if (<FH> =~ m/Employees/);
open(OFH, ">sortedemployee.txt");
my %seen;
print OFH sort grep !$seen{$_}++, <FH>;
close(OFH);
close(FH);
내가 찾고있는 출력은
Eric Cartman
Kenny
Kyle
Matt Stone
Stan
Trey parker
나는 요구 사항이 있으므로 open을 사용하여 이것을하고 싶습니다.
open(FH, '<', 'employeenames.txt') or die $!;
open(OFH, '>', "sortedemployee.txt") or die $!;
my %seen;
print OFH sort grep { !$seen{$_}++ and !/Employees/ } <FH>;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다