在perl中交换两个字节

在perl中交换两个字节,perl,byte,reverse,swap,Perl,Byte,Reverse,Swap,我试图在文件中一次交换两个字节。所以我想我可以一次读取两个字节,然后使用reverse来切换字节。但是,我不知道如何在perl中一次读取两个字节。是否有人可以提出建议使用“read”(读取)读取并传递长度参数的“2”(默认情况下)以读取2个字节的数据 由于性能原因,如果您有一个大文件,您可能需要考虑一次读取更多文件(或者可能是所有文件),而不是调用Read((以字节为单位)/ 2次)。您应该继续一次读取较大的块,并处理缓冲区中的字节 $buf =~ s/(.)(.)/$2$1/sg; 或 $b

我试图在文件中一次交换两个字节。所以我想我可以一次读取两个字节,然后使用reverse来切换字节。但是,我不知道如何在perl中一次读取两个字节。是否有人可以提出建议

使用“read”(读取)读取并传递长度参数的“2”(默认情况下)以读取2个字节的数据


由于性能原因,如果您有一个大文件,您可能需要考虑一次读取更多文件(或者可能是所有文件),而不是调用Read((以字节为单位)/ 2次)。您应该继续一次读取较大的块,并处理缓冲区中的字节

$buf =~ s/(.)(.)/$2$1/sg;


$buf=pack'您可以使用该函数一次读取2个字节。建议一次读取整个文件吗?例如,
open(TEST),“取决于文件的大小,但这是我的出发点。
$buf = pack 'S<*, unpack 'S>*', $buf;