如何使用perl oneliner以binmode打开文件?

如何使用perl oneliner以binmode打开文件?,perl,batch-file,Perl,Batch File,如何使用批处理和perl oneliner以binmode正确打开文件 perl-p binmode(“C:\test.txt”) 给出: 无法打开binmode(C:\test.txt):参数无效。如果没有-e,则需要脚本名,并且不存在名为binmode(C:\test.txt)的脚本 请注意,binmode(C:\test.txt)在Perl中无效,因此添加缺少的-e后,您的命令仍然无法工作。您需要创建一个shell文本来创建字符串binmode(“C:\test.txt”)或等效字符串 最

如何使用批处理和perl oneliner以binmode正确打开文件

perl-p binmode(“C:\test.txt”)

给出:


无法打开binmode(C:\test.txt):参数无效。

如果没有
-e
,则需要脚本名,并且不存在名为
binmode(C:\test.txt)
的脚本

请注意,
binmode(C:\test.txt)
在Perl中无效,因此添加缺少的
-e
后,您的命令仍然无法工作。您需要创建一个shell文本来创建字符串
binmode(“C:\test.txt”)
或等效字符串

最后,
binmode
接受文件句柄,而不是文件名

perl -pe"binmode(STDOUT); ..."
当然,你只需要做一次,而不是每行一次,所以

perl -pe"BEGIN { binmode(STDOUT); } ..."

如果没有
-e
,则需要脚本名,并且不存在名为
binmode(C:\test.txt)
的脚本

请注意,
binmode(C:\test.txt)
在Perl中无效,因此添加缺少的
-e
后,您的命令仍然无法工作。您需要创建一个shell文本来创建字符串
binmode(“C:\test.txt”)
或等效字符串

最后,
binmode
接受文件句柄,而不是文件名

perl -pe"binmode(STDOUT); ..."
当然,你只需要做一次,而不是每行一次,所以

perl -pe"BEGIN { binmode(STDOUT); } ..."
使用与。未经测试:

perl -Mopen=IO,:raw …
使用与。未经测试:

perl -Mopen=IO,:raw …

当然,这也是无效的perl,因为
binmode
不接受文件名参数。@TLP,doh!是的,我没注意到。当然,这也是无效的perl,因为
binmode
不接受文件名参数。@TLP,doh!是的,我没注意到。修复了-e行0处未知PerlIO层类:raw“(需要输入、输出或IO)的问题。BEGIN失败--编译中止。@membersound查看
perldoc open
并查看:
perl-Mopen=IN,:raw…
;-)
perl-0777-Mopen=IN,:raw-MDigest::MD5=MD5_hex-e“print MD5_hex()”myfile
Unknown PerlIO layer class]:raw'(需要输入、输出或IO)在-e行0处。BEGIN失败--编译中止。
@membersound查看
perldoc open
并查看:
perl-Mopen=IN,:raw…
;-)
perl-0777-Mopen=IN,:raw-MDigest::MD5=MD5_hex-e“print MD5_hex()”myfile