将Perl变量视为字节/位

Ala*_*orm 5 binary perl

免责声明:自从我做了任何perl以来已经很久了,所以如果我要求/说些蠢事,请纠正我.

是否可以查看perl变量的字节/位表示?也就是说,如果我说的话

my $foo = 'a';
Run Code Online (Sandbox Code Playgroud)

我知道(想想?)电脑看起来$foo像是什么样的

0b1100010
Run Code Online (Sandbox Code Playgroud)

有没有办法让perl打印出变量的二进制表示?

(不要求任何实际目的,只是与一位老朋友纠缠在一起并试图比1997年更深入地了解它)

spe*_*akr 12

当然,使用解压缩:

print unpack "B*", $foo;
Run Code Online (Sandbox Code Playgroud)

例:

% perl -e 'print unpack "B*", "bar";'
011000100110000101110010
Run Code Online (Sandbox Code Playgroud)

packperlpacktut的perldoc页面提供了关于在不同表示之间进行转换的精彩概述.