2012-12-28 1 views
1

내 호스트 (iPage)에 JSON.pm이 설치되어 있지 않습니다. CGI 스크립트에서 웹 페이지로 다시 데이터를 전송하기 위해 설치 한 모듈 (XML)을 사용하고 싶지 않습니다. 어쨌든 Perl에 JSON을 설치하지 않고 JSON을 사용할 수 있습니까?쉘 액세스없이 웹 호스트에 JSON.pm 설치

내가 묻는 이유는 메이크 파일 json.pm 명령을 실행해야하는 JSON zip을 다운로드했지만 유닉스 쉘 또는 SSH 터미널에 액세스 할 수 없다는 것을 알아 차렸기 때문입니다.

답변

2

셸 액세스없이 pure Perl version of the JSON module의 로컬 복사본을 설치할 수 있어야합니다. .tar.gz 보관함을 컴퓨터에 다운로드하고 압축을 풀고 lib 하위 디렉토리의 모든 내용을 웹 호스트의 적절한 위치에 복사하십시오.


또한 어디있는 모듈을 복사 할 파일 시스템 경로를 알 필요가있는 모듈을 찾을 펄 얘기해야합니다. 웹 호스트 구성에 따라

use lib '/home/username/perl-lib'; 
use JSON; 

은 또한 사용할 수 있습니다 당신은 당신의 웹 호스트에 /home/username/perl-liblib 디렉토리의 내용을 복사 한 경우 예를 들어, 당신은 라인 코드에 포함 할 것 당신이 쓸 수 있도록 $ENV{HOME}는 홈 디렉토리의 경로를 얻기 위해 :

use lib "$ENV{HOME}/perl-lib"; 
use JSON; 

을하거나 스크립트를 포함하는 디렉토리의 경로를 찾기 위해 FindBin module를 사용하여 시도 할 수 있고, 거기에서 lib 디렉터리를 찾습니다 (참조 FindBin 문서의 예제).

4

Perl이 5.14 이상이면 JSON 파서의 순수 Perl 구현 인 JSON::PP이 제공됩니다. 혼란스럽게도 JSON.pm과 함께 제공되지 않습니다. 따라서 use JSON::PP을 시도해보고 작동하는지 확인하십시오.

그렇지 않으면 Ilmari의 지침을 따르십시오. 쉘 액세스 권한이있는 호스트로 전환하면 local::lib을 사용하여 CPAN 모듈을 관리 할 수 ​​있습니다.