是否可以恢复之前修改过的STDIN的原始编码?
#!/usr/bin/env perl
use warnings;
use strict;
binmode STDIN, ':raw';
# do something here
# ...
# ...
# restore original STDIN encoding
binmode STDIN, $old_encoding;发布于 2012-05-05 00:35:13
不确定这是否可以工作,但是有一个:pop pseudo-encoding:
删除最顶层。为perl代码提供了一种操纵层栈的方法。应该被认为是实验性的。请注意:pop仅适用于真实图层,不会撤消伪图层的效果,如:utf8。一个可能的用法示例可能是:
open($fh,...)
...
binmode($fh,":encoding(...)"); # next chunk is encoded
...
binmode($fh,":pop"); # back to un-encoded需要更优雅(更安全)的界面。
https://stackoverflow.com/questions/10452276
复制相似问题