변수 앞의 perl + uniq 문자

변수 앞의 perl + uniq 문자

변수 EOF 앞의 문자 "%%"의 의미는 무엇입니까?

  $LINE =`tail -1 $FILE `;
  chomp($LINE);
  if ($LINE eq "%%EOF") 
      {

        .
        .
        .

답변1

특별한 의미는 없고 그냥 문자 그대로 받아들인 것입니다. 마지막 줄 %%EOF에 PostScript 또는 PDF 문서의 닫는 태그인 .이 정확히 포함되어 있는지 확인합니다(해 보세요 tail -n 1 somefile.pdf).

perl큰따옴표 안의 스칼라( $var) 및 목록( ) 변수를 확장하지만 해시/연관 ​​배열( )은 확장하지 않습니다.@list%hash

이 코드는 올바르지 않습니다.

$LINE = `tail -1 $FILE`;

해야 한다:

$LINE = `tail -n 1 -- $FILE`;

또는:

$ENV{FILE} = $FILE;
$LINE = `tail -n 1 < "\$FILE"`;
#or# $LINE = qx'tail -n 1 < "$FILE"';

확인 해야 할 --사항은 $FILE옵션으로 간주되지 않습니다(예: -또는 로 시작 하는 경우 +). 리디렉션 방법은 이름이 지정된 파일의 문제도 방지합니다 (매개변수로 전달되면 파일이 의미로 -이해됩니다 ).tail표준 입력현재 디렉토리에서 호출되는 파일 대신 -), 이는 쉘을 호출해야 함을 의미합니다.

관련 정보