如何解析具有特定格式数据的文本文件并使用 perl 将其存储在哈希中

Posted

技术标签:

【中文标题】如何解析具有特定格式数据的文本文件并使用 perl 将其存储在哈希中【英文标题】:How to parse a text file having data in particular format and store it in hash using perl 【发布时间】:2012-06-05 03:58:50 【问题描述】:

我有一个包含以下格式数据的文本文件

%app_lookup_strings = (
                      common => 
                                  password => "password: ",
                                  select_action => "Select action => ",
                                  mgt_close => "BSA_MgtClose",
                                ,

我必须从文本文件中读取这些数据并将其存储回哈希中。我需要知道如何解析具有此类数据的文本文件,并以与上所示类似的哈希方式存储它。

【问题讨论】:

使用Storable ;并存储store \%app_lookup_strings, 'file.txt'; 以取回my $ref = retrieve('file.txt'); 相关:Store and read hash and array in files,这个问题比这里的这个问题更笼统。 【参考方案1】:

如果您的文本文件只包含一个哈希,最直接的解决方案是:

#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;

my %hash = do 'text.file';

print Dumper \%hash;

输出:

$VAR1 = 
          'common' => 
                        'mgt_close' => 'BSA_MgtClose',
                        'password' => 'password: ',
                        'select_action' => 'Select action => '
                      
        ;

【讨论】:

以上是关于如何解析具有特定格式数据的文本文件并使用 perl 将其存储在哈希中的主要内容,如果未能解决你的问题,请参考以下文章

文本文件中的 Perl 字符串比较

Perl:在多个文本文件中查找和替换特定字符串

如何生成和解析json格式数据

如何创建 XML 解析器?

Perl - 格式化输出和读取格式化数据

如何从 perl 脚本登录 OBIEE 服务器凭据 [关闭]