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

関連情報