a2p(Awk to Perl 변환기)가 기본적으로 설치되는 이유는 무엇입니까? 왜 Awk를 Perl로 변환하고 싶나요? [폐쇄]

a2p(Awk to Perl 변환기)가 기본적으로 설치되는 이유는 무엇입니까? 왜 Awk를 Perl로 변환하고 싶나요? [폐쇄]

a2p내 Linux 배포판에 이 유틸리티가 기본적으로 설치되어 있다는 사실에 놀랐습니다 .

a2p변환하는 명령줄 유틸리티입니다.프로그램표준 입력진주출력되는 프로그램표준 출력.

나는 왜 전환하고 싶은가?프로그램을진주프로그램이 있을 때통역사가 설치되어 있나요?

왜 이런 일이 일어나는 걸까요?리눅스배포판이 a2p기본 설치에 포함되어 있습니까?

답변1

스크립트를 보다 효율적으로 만들기 위해 이러한 도구를 사용할 수 있습니다 perl.

perl더 큰 프로그램이 있고 awk하위 프로세스를 호출하지 않고 스크립트 기능을 통합하려는 경우 이 작업을 수행할 수 있습니다. a2p생성된 코드를 호출하여 기존 Perl 스크립트에 통합할 수 있습니다 .

하위 프로세스를 호출하지 않고 명령줄을 find2perl사용하여 동일한 작업을 수행하는 코드를 생성하는 유사한 유틸리티가 있습니다 .findperlfind

이는 스크립트용 최적화 도구입니다 perl.

답변2

  1. 왜 기본적으로 설치되어 있나요? : 이는 사용 중인 배포판의 개발자/유지관리자에 따라 다릅니다.

  2. 왜 필요한가요?a2p

인수가 항상 정수임에도 불구하고 숫자 해석을 강제하기 위해 문자열 표현식 주위에 int()를 배치하는 awk 관용구가 있습니다. 이는 일반적으로 Perl에서는 필요하지 않지만 a2p는 인수가 항상 정수인지 알 수 없으므로 그대로 둡니다. 삭제하고 싶을 수도 있습니다.

Perl은 숫자 비교와 문자열 비교를 구별합니다. Awk에는 두 경우 모두에 대해 런타임 시 어떤 비교를 할지 결정하는 연산자가 있습니다. A2p는 현재 awk 시뮬레이션의 전체 작업을 완료하려고 시도하지 않습니다. 대신, 당신이 원하는 것을 추측합니다. 거의 항상 정확하지만 속일 수 있습니다. 이러한 추측은 모두 "#???" 주석으로 표시됩니다. 꼼꼼히 확인하고 점검해야 합니다. eq를 사용해야 하는 경우 ==를 사용하면 경고하는 Perl의 -w 스위치를 사용하여 이 작업을 한 번 이상 실행할 수 있습니다.

더 많은 정보를 알고 싶다면:A2P

관련 정보