为什么perl会打印%x";从一个文件读取并写入另一个文件时作为数值?
我在文件1中有此文本:为什么perl会打印%x";从一个文件读取并写入另一个文件时作为数值?,perl,printf,Perl,Printf,我在文件1中有此文本: printf ("integer value is %x \n", a); 我想从文件1中读取数据并写入文件2中。 当我到达这一行时,文件2如下所示: printf ("integer value is 0 \n", a); 为什么会这样?我怎样才能避免这种情况 以下是我的Perl代码的外观: while ($line = <$in_fh>) { printf $out_fh $line; } while($line=){ printf$out\
printf ("integer value is %x \n", a);
我想从文件1中读取数据并写入文件2中。
当我到达这一行时,文件2如下所示:
printf ("integer value is 0 \n", a);
为什么会这样?我怎样才能避免这种情况
以下是我的Perl代码的外观:
while ($line = <$in_fh>) {
printf $out_fh $line;
}
while($line=){
printf$out\u fh$行;
}
这里,$in\u fh和$out\u fh是输入和输出文件句柄。因为这就是它的作用。你想要的
因为这就是我所做的。你想要的
因为
printf
将$line
解释为一个格式字符串,并找到看起来像令牌的%x
。改用print
。因为printf
将$line
解释为格式字符串,并查找类似于标记的%x
。使用打印
while ($line = <$in_fh>) {
print $out_fh $line;
}
while ($line = <$in_fh>) {
printf $out_fh "%s", $line;
}