我认为这是基本的,但我没有得到如何做到这一点。我通过网络套接字将文件从一台机器传输到另一台机器。我接收文件内容作为网络数据包,在接收方,我将内容存储在列表变量中。内容是十六进制格式,它是来自网络数据包的有效负载。
我现在需要创建一个新的perl文本文件,并将这些内容作为文本文件写回。有什么想法吗?
my @str;
@str = $msg->{packet_contents};
open FILE, ">file.txt" or die $!;
foreach (@str)
print FILE $_
以上代码行只是转储数组索引。
我将其更改为使用Dumper打印,但也没有帮助
open FILE, ">file.txt" or die $!;
print FILE Dumper($msg->{packet_contents});
以上几行打印如下;但我需要的文字内容不是十六进制。
$VAR1 = [
77,
97,
121,
32,
32,
49,
我明白我不能使用Dumper,但我如何将网络套接字内容写为文本文件?任何指针都应该足够,不需要完全实现。
总结: 1.我将通过网络接收的文件内容保存为列表。 我需要打开一个文本文件。 3.将列表内容写为文本文件。
答案 0 :(得分:0)
通过chr
函数传递值以获取文本:
use strict;
use warnings;
my @str = (77, 97, 121, 32, 32, 49);
print map {chr $_} @str;
输出:
May 1