免责声明:自从我做了任何perl以来已经很久了,所以如果我要求/说些蠢事,请纠正我.
是否可以查看perl变量的字节/位表示?也就是说,如果我说的话
my $foo = 'a';
我知道(想想?)计算机看到$foo就像
0b1100010
有没有办法让perl打印出变量的二进制表示?
(不要求任何实际目的,只是与一位老朋友纠缠在一起并试图比1997年更深入地了解它)
解决方法
当然,使用
unpack:
print unpack "B*",$foo;
例:
% perl -e 'print unpack "B*","bar";' 011000100110000101110010
pack和perlpacktut的perldoc页面提供了关于在不同表示之间进行转换的精彩概述.