使用perl中的自定义名称生成哈希

时间:2015-08-13 11:58:14

标签: perl

是否可以从I / O列表中声明Perl中的变量/哈希值[例如带字符串的文件]?
例如,如果我的文件看起来像这样:

param1
param2
param3

我希望Perl使用相应的名称生成3个哈希值。

1 个答案:

答案 0 :(得分:4)

你正是在问什么,你不想做什么。根据输入命名变量是不好的juju。有很多原因,如果你想了解更多,我会推荐你​​this site来解释它们。

Morever - 它是不必要的,因为perl有哈希。哈希是可移植的命名空间 - 它们允许您关联键和值。 更好的是,哈希中的可以是...哈希引用。

所以你可以在你的文件中读到:

param1
key=value

param2
key=anothervalue

把它变成哈希哈希:

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

my %params;
$params{"param1"}{"key"} = "value";
$params{"param2"}{"key"} = "anothervalue";

print Dumper \%params;

等。

然后你不再需要有符号引用了。您的数据结构如下所示:

$VAR1 = {
          'param1' => {
                        'key' => 'value'
                      },
          'param2' => {
                        'key' => 'anothervalue'
                      }
        };