방금 테스트 용 Python 코드를에 썼고 test.py
다음과 같이 시작합니다.
perl test.py
잠시 후 나는 나의 실수를 깨달았다. 파이썬 코드는 마치 파이썬 인터프리터처럼 실제로 올바르게 실행되기 때문에 “잠시 후”라고 말합니다!
Perl이 Python을 해석하는 이유는 무엇입니까? test.py
다음과 같이 보입니다.
#!/usr/bin/python
...Python code here...
흥미롭게도 반대로하면 (즉, call python something.pl
) 많은 구문 오류가 발생합니다.
답변
에서 perlrun ,
는 IF
#!
라인은 단어 “펄”나 단어가 이름을 딴 “든지 indir”프로그램 포함하지 않는#!
대신에 펄 인터프리터의 실행을. 이것은 약간 기이하지만,하지 않는 기계를 사용하는 사람들에게 도움이됩니다#!
. 왜냐하면 그들은 그들의 SHELL이 / usr / bin / perl 이라고 프로그램에 알릴 수 있기 때문입니다 . 그리고 Perl은 올바른 인터프리터에게 프로그램을 보낼 것입니다.
예를 들면
$ cat a
#!/bin/cat
meow
$ perl a
#!/bin/cat
meow