Perl 从bin文件中读取以null结尾的字符串

Perl 从bin文件中读取以null结尾的字符串,perl,binary,Perl,Binary,我想从bin文件中读取一个字符串(该字符串从固定偏移量开始,以null结尾) 如何在Perl脚本中执行此操作?如有必要,请选择正确的位置,然后使用: my $str; { local $/ = "\0"; $str = <$fh>; } die "Premature EOF" if !defined($str) || $str !~ /\0\z/; chop($str); my$str; {local$/=“\0”;$str=;} 死“过早EOF”如果!已定义($str)| |$

我想从bin文件中读取一个字符串(该字符串从固定偏移量开始,以null结尾)

如何在Perl脚本中执行此操作?

如有必要,请选择正确的位置,然后使用:

my $str;
{ local $/ = "\0"; $str = <$fh>; }
die "Premature EOF" if !defined($str) || $str !~ /\0\z/;
chop($str); 
my$str;
{local$/=“\0”;$str=;}
死“过早EOF”如果!已定义($str)| |$str!~/\0\z/;
印章($str);

不,sysread应该保留在特殊情况下(并且在nul之前不容易读取)哦,我错过了,我们不知道实际读取长度。那是最简单的方法。