Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl解包和换行符_Perl_Unpack - Fatal编程技术网

Perl解包和换行符

Perl解包和换行符,perl,unpack,Perl,Unpack,我正在使用解包函数将二进制文件的内容转换为十六进制 我的做法如下: #! /usr/bin/perl use strict; use warnings; my $input=$ARGV[0]; open(INPUT,'<',$input) || die("Couldn't open the file, $input with error: $!\n"); my $value=<INPUT>; $value=unpack("H*",$value); print $valu

我正在使用解包函数将二进制文件的内容转换为十六进制

我的做法如下:

#! /usr/bin/perl

use strict;
use warnings;

my $input=$ARGV[0];

open(INPUT,'<',$input) || die("Couldn't open the file, $input with error: $!\n");
my $value=<INPUT>;
$value=unpack("H*",$value);

print $value,"\n";
解包不会解析字节0xa之后的所有内容

那么,有没有一种方法可以对完整的二进制文件使用解包,以便在遇到新行字符时不会停止解析

谢谢。

你觉得怎么样

my $value = <INPUT>;
打开

你觉得怎么样

my $value = <INPUT>;

打开

确定后,我自己找到了解决方案。我需要在读取文件之前启用slurp模式。本地$/does:)霓虹灯:你可以把它作为你自己的答案加上,然后接受它。好的,我自己找到了解决方案。我需要在读取文件之前启用slurp模式。本地$/does:)Neon Flash:您可以添加它作为自己的答案并接受它。
my $value;
{ local $/; $value = <INPUT>; }
binmode(INPUT);