Perl - 将网络内容编写为文本文件

时间:2014-05-07 18:31:19

标签: perl

我认为这是基本的,但我没有得到如何做到这一点。我通过网络套接字将文件从一台机器传输到另一台机器。我接收文件内容作为网络数据包,在接收方,我将内容存储在列表变量中。内容是十六进制格式,它是来自网络数据包的有效负载。

我现在需要创建一个新的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.将列表内容写为文本文件。

1 个答案:

答案 0 :(得分:0)

通过chr函数传递值以获取文本:

use strict;
use warnings;

my @str = (77, 97, 121, 32, 32, 49);

print map {chr $_} @str;

输出:

May  1