사람들이 "Perl은 구문 분석에 매우 능숙하다"고 말하는 것은 무엇을 의미합니까?[닫은]

StackOverflow https://stackoverflow.com/questions/1888577

문제

사람들이 "Perl은 구문 분석에 매우 능숙하다"라고 말하는 것은 무엇을 의미합니까?

Perl은 Python이나 Ruby와 같은 다른 스크립팅 언어보다 어떻게 더 우수하고 강력합니까?

도움이 되었습니까?

해결책

Perl은 원래 텍스트 파일을 처리하도록 설계되었으며 쉽게 쉽게 기능 할 수있는 기능이 있음을 의미합니다.

  • Perl에는 문자열 처리를위한 많은 기능이 있습니다. substr, index, chomp, length, grep, sort, reverse, lc, ucfirst, ...
  • Perl은 값 사용 방법에 따라 숫자와 문자열을 자동으로 변환합니다. (예 : 파일에서 문자열 '100'을 읽고 먼저 정수 변환을 위해 문자열을 할 필요없이 하나를 추가 할 수 있습니다)
  • PERL은 플랫폼 인코딩 (예 : Windows의 CRLF) 및 프로그램 내의 논리적 인 Newline ( " n")으로의 변환을 자동으로 처리합니다.
  • 일반 표현식은 별도의 라이브러리 대신 구문에 통합됩니다.
  • Perl의 정규 표현식은 전력 및 기능을위한 "골드 표준"입니다.
  • Perl에는 전체 유니 코드 지원이 있습니다.

Python과 Ruby에는 텍스트 처리를위한 좋은 시설도 있습니다. (루비는 특히 Perl이 다른 많은 언어에서 부끄럽게 빌린 것처럼 Perl에서 많은 영감을 얻었습니다.) 어느 것이 더 나은지 묻는 점은 거의 없습니다. 당신이 좋아하는 것을 사용하십시오.

다른 팁

Perl의 장점을 다른 언어의 단점으로 받아들이지 마십시오.Perl은 텍스트 처리에 적합하지만 Ruby나 Python이 형편없다는 의미는 아닙니다.

사람들이 Perl이 "분석에 좋다"고 말할 때 그들은 주로 Perl의 역사를 반영하고 있습니다.그것은 강력한 텍스트 처리가 쉽지 않던 시절에 발명되었습니다.C나 C++에서 그 중 일부를 시도해 보십시오(Java도 아직 발명되지 않았습니다!).예전에 Larry는 sed와 awk를 사용하여 작업을 시도했지만 한계에 부딪혔습니다.그는 텍스트 작업을 더욱 쉽게 만드는 도구를 만들었습니다.

Perl은 여전히 ​​텍스트 조작 작업에 매우 적합하지만 이제는 다른 많은 언어도 마찬가지입니다.

Perl은 ETL 또는 배치 처리 동작에도 좋습니다. 파일을 선택하는 것은 최소한의 코드입니다. 밀어 넣으십시오 split 얻기 위해 map, 레코드에서 논리적 인 비즈니스 작업을 수행하고 디스크에 다시 작성하십시오.

데이터가 구문 분석보다 더 많은 데이터 처리라고 생각하지만 데이터 처리는 대량 데이터 구문 분석입니다.

Perl은 C/C ++/Java와 비교할 때 텍스트 구문 분석이 매우 좋습니다.

아마도 사람들은 Perl 문서, 따라서 많은 사람들이 텍스트 파일의 구문 분석을 PERL과 연관시키는 것이 일반적이되었습니다. 루비 나 파이썬을 배제하지 않으면, 그것은 단지 가구 이름 IMHO 일뿐입니다.

Perl은 임의의 텍스트 파일을 스캔하고 해당 텍스트 파일에서 정보를 추출하고 해당 정보를 기반으로 보고서를 인쇄하는 데 최적화 된 언어입니다. 또한 많은 시스템 관리 작업에 좋은 언어이기도합니다. 언어는 아름답고 (작고, 우아하고, 최소한)보다 실용적 (사용하기 쉽고 효율적이며 완전)을 고안했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top