变量 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
为含义)标准输入而不是在当前目录中调用的文件-
),但这意味着必须调用 shell。