open my $fp, '<', $file or die $!;
while (<$fp>) {
my $line = $_;
if ($line =~ /$regex/) {
# How do I find out which line number this match happened at?
}
}
close $fp;
답변
$.
(perldoc perlvar
참조)을 사용하십시오.
기술적으로'$ .'는 반드시 줄 번호가 아닙니다; 'readline' 연산자가 핸들의 마지막'close' ('open'이 아닌) 이후에 호출 된 마지막 핸들에서 호출 된 횟수입니다. '$ /'가''\ n ''(예 :'''''\ n %% \ n "')으로 설정되지 않았거나 핸들이 on ('ARGV '와 같이, 그리고'<>'와 함께)'close'를 호출하지 않고 마지막 라인이 맹 글링 된 텍스트 파일에 적절한 라인 종료 시퀀스가없는 텍스트 파일에 의미가 있는지 여부 – tchrist
@tchrist : 최후의 경우에 대한 설명은 세 번째 대답으로 게시되어야합니다. – Dallaylaen
[perldoc eof] (http://perldoc.perl.org/functions/eof.html)는 'continue @chchrist의 좋은 경고 중 하나를 다루면서 while (<>) {...} 부분을 {(계속) ARGV if eof}'사용하여. @ –
또한 OO 인터페이스를 통해 작업을 수행 할 수 있습니다
use IO::Handle;
# later on ...
my $n = $fp->input_line_number();
이 perldoc perlvar에, 너무.
그것은'$ 물론. – tchrist
- 1. C++에서 파일의 행 번호를 가져 오는 방법은 무엇입니까?
- 2. 현재 줄 번호를 가져 오는 방법은 무엇입니까?
- 3. 내보내기 후 현재 개정 번호를 파일로 가져 오는 방법은 무엇입니까?
- 4. SQL Server 2000 쿼리에서 현재 행 번호를 가져 오는 방법은 무엇입니까?
- 5. 입력에서 문장 번호를 가져 오는 방법은 무엇입니까?
- 6. C#의 TextBox에서 커서의 열 번호를 가져 오는 방법은 무엇입니까?
- 7. Perl을 사용하여 파일의 행을 비교하는 방법은 무엇입니까?
- 8. 연락처 번호를 텍스트보기로 가져 오는 방법은 무엇입니까?
- 9. struts1의 displaytag 열 중 하나의 체크 박스에 현재 페이지 행 번호를 가져 오는 방법은 무엇입니까?
- 10. 양식을 현재 화면으로 가져 오는 방법은 무엇입니까?
- 11. 현재 클래스의 필드를 가져 오는 방법은 무엇입니까?
- 12. 현재 시간에서 시간대를 가져 오는 방법은 무엇입니까?
- 13. 현재 테마의 URL을 가져 오는 방법은 무엇입니까?
- 14. 웨이브의 현재 상태를 가져 오는 방법은 무엇입니까?
- 15. 예외가 발생한 행 번호를 가져 오는 방법이 있습니까?
- 16. 어셈블리를로드하지 않고 버전을 가져 오는 방법은 무엇입니까?
- 17. gridview에서 하이퍼 링크 필드의 행 번호를 가져 오는 것이 가능합니까?
- 18. 가져 오는 행 번호 -
- 19. 가져 오는 행
- 20. Perl을 사용하여 AGI에서 현재 별표를 전달하는 방법은 무엇입니까?
- 21. 현재 행에서 D 열의 값을 가져 오는 방법은 무엇입니까?
- 22. Java에서 텍스트 파일의 끝 부분을 효율적으로 가져 오는 방법은 무엇입니까?
- 23. Perl을 사용하여 파일에서 데이터를 가져 오는 방법에 대한 의견이 필요합니다.
- 24. Javascript로 현재 디렉토리 이름을 가져 오는 방법은 무엇입니까?
- 25. 주소록에서 전화 번호를 문자열로 가져 오는 방법은 무엇입니까?
- 26. Perl을 사용하여 IP 주소와 포트 번호를 추출하고 비교하는 방법
- 27. 플라스크에서 현재 포트 번호를 얻는 방법은 무엇입니까?
- 28. 실제 기기에서 현재 SIM 카드의 휴대 전화 번호를 가져 오는 방법은 무엇입니까?
- 29. XPath를 사용하여 요소를 가져 오는 방법은 무엇입니까?
- 30. PostgreSQL 쿼리에서 행 번호를 표시하는 방법은 무엇입니까?
줄을 $ line으로 읽으려면 다른 변수에 줄을 읽은 다음 $ 줄에 복사하는 것이 아니라 $ 줄에 줄을 읽습니다. while (my $ line = <$fp>) { – tadmc
@tadmc : 마지막 줄은 0이 될 수 있고 개행 문자로 끝나지 않을 수 있기 때문에'while (defined (my $ line = <$fp>)) {...}'이라고 할 수 있습니다. – phaylon