如何在Perl脚本中填充散列(已在单独的文件中定义)并对其执行必要的操作?
如何在Perl脚本中填充散列(已在单独的文件中定义)并对其执行必要的操作 例如: file1.pl--包含定义的哈希 file2.pl——应该从file1.pl填充哈希的用户定义代码如何在Perl脚本中填充散列(已在单独的文件中定义)并对其执行必要的操作?,perl,hash,populate,Perl,Hash,Populate,如何在Perl脚本中填充散列(已在单独的文件中定义)并对其执行必要的操作 例如: file1.pl--包含定义的哈希 file2.pl——应该从file1.pl填充哈希的用户定义代码 my %tgs = ( 'articles' => { 'vim' => '20 awesome articles posted', 'awk' => '9 awesome articles posted', 'sed' => '10
my %tgs = (
'articles' => {
'vim' => '20 awesome articles posted',
'awk' => '9 awesome articles posted',
'sed' => '10 awesome articles posted'
},
'ebooks' => {
'linux 101' => 'Practical Examples to Build a Strong Foundation in Linux',
'nagios core' => 'Monitor Everything, Be Proactive, and Sleep Well'
},
);
@吉布隆实际上已经回答了你的问题。
因此,我只向您展示了您可能更感兴趣的代码。
填充普通哈希的方法与填充“哈希上的哈希”的方法相同。
我使用Data::Dumper直接显示哈希结构,您可以选择自己的方式来知道最终哈希包含什么
use strict;
use Data::Dumper qw(Dumper);
do 'file1.def'; # evaluate file1
# add new sub key and value to 'hash of hash'
$file1::tgs{'articles'}{'emacs'} = '21 awesome articles posted';
# create a completely new pair
$file1::tgs{'new_key'}{'new_sub_key'} = 'new_value';
# see the result
print Dumper (\%file1::tgs);
查看@Gibron-感谢链接。我会看一看。@Gibron-在你提到的上面的链接中。。。对%ProjectData::DATA执行某些操作。。。那么上面的意思是什么呢?这是否意味着我可以访问在另一个文件中定义的散列的任何键->值对,并按照我的意愿打印它们?上述方法适用于简单的散列。如何对“hash oh hashes”执行相同的操作?现在假设我想从file2.def或file3.def访问哈希,依此类推。。如何使脚本成为通用脚本,使其自动从包含的文件中捕获哈希名称,并自动访问其键->值对,即
$file1::“在这里,我希望它根据包含的文件采用哈希名称”