【问题标题】:Perl - Writing Network content as a text filePerl - 将网络内容写入文本文件
【发布时间】:2014-05-07 18:31:18
【问题描述】:

我相信这是基本的,但我不知道如何去做。我正在通过网络套接字将文件从一台机器传输到另一台机器。我将文件内容作为网络数据包接收,在接收端,我将内容存储在列表变量中。内容为十六进制格式,其有效载荷来自网络数据包。

我现在需要创建一个新的 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. 我将通过网络接收的文件内容保存为列表。 2. 我需要打开一个文本文件。 3. 将列表内容写入文本文件。

【问题讨论】:

  • 您可能希望对your code 进行一些现代化改造。

标签: perl


【解决方案1】:

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

use strict;
use warnings;

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

print map {chr $_} @str;

输出:

May  1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    相关资源
    最近更新 更多