사소한 일이라면 용서해주십시오.Perl Escape Quotes 문제
나는이 같은 펄 스크립트 시스템()를 호출하여 XSLT를하고있는 중이 야 :
system("java -Xms256m -Xmx512m -jar $saxonJar -o $tmpFile $inFile $xslFile $saxonParams");
$ INFILE는 XSLT를 사용하여 번역 할 것입니다 xml 파일에 대한 상대 경로를 포함하는 문자열입니다. 이 문자열은 "Intro to Dance.htm"과 같이 문자열에 공백이있는 $ inFile을 제외하고는 제대로 작동합니다. 그런 다음 구문 오류가보고됩니다.
MS-DOS에 있으면 XSLT 명령에서 $ inFile 문자열 주위에 따옴표를 붙여이 문제를 해결할 수 있습니다. 위의 명령에 다음과 같이 탈출을 시도했습니다.
system("java -Xms256m -Xmx512m -jar $saxonJar -o $tmpFile \"$inFile\" $xslFile $saxonParams");
작동하지 않습니다. 아무도 어떻게 $ inFile 주위에 따옴표를 넣어야합니까?
감사합니다.
@friedo : 시도했지만 다음과 같은 오류가 발생했습니다. 연산자가 ./mot_publish.pl 라인 121에서 "java"-Xms256m ' " 근처의 연산자 121에서 예상 됨 ('-Xms256m '앞에 연산자가 누락 되었습니까?). 의견 있으십니까? – Kevin
목록의 각 항목 사이에 쉼표가 필요합니다. – friedo
@Robert : friedo의 코드가 올바르게 보입니다. 올바르게 복사했는지 확실합니까? 복사에 실수를했거나 오류가보고 된 줄의 한두 줄에 있습니다 (그와 같은 구문 분석 오류와 관련된 일반적인 문제입니다). 편집 : friedo는 이미 문제를 발견했습니다. –