如何在PERL中定义分组项目列表



我有一个多个变量的列表和一个对这些变量进行操作的perl脚本。

该列表类似于:A组:变量1变量2等等

B组:变量1变量2等等

我的perl脚本根据我想要的组对这些变量进行操作。

有没有一种方法可以使用一些perl功能将所有组(和变量)放在一个文件中,这样我只需要将组名传递给脚本。脚本将自动从预定义的列表中选择该组的相关变量并对其进行操作(类似于我们使用makefile)。

即使是shell脚本也可以。

您正在寻找的功能被称为数据封送处理,与所有Perl一样,有不止一种方法可以做到这一点。三种最常用的数据序列化方法(与数据封送相反,即以保留其结构的方式将数据写入文件)是YAML、data::Dumper和JSON。

Data::Dumper将数据写成本地perl代码:上面的示例可能看起来像这样:

$VAR1 = (
    { group1 => [ 'abc', 'def' ] },
    { group2 => [ 'red', 'blue' ] }
);

YAML和JSON是表亲。。。它们使用不同的文本格式来表示数组和散列。YAML通常用于配置文件,而JSON是由javascript发出的,更可能出现在发送和接收网络数据的perl脚本中。

Data::Dumper是Perl标准库的一部分。可以在CPAN上找到YAML和JSON库。

Data::Dumper的输出可以直接用作Perl代码,并且在YAML和JSON库中都有函数,可以将数据直接加载到Perl数据结构中。

最新更新