変数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
標準入力現在のディレクトリから呼び出されるファイルの代わりに-
)、これはシェルを呼び出す必要があることを意味します。