私はいくつかのテストを行うためのconfig.fileを持っていますが、私はこれもいくつかの値を取得したいと思います。Perlでハッシュのハッシュからいくつかの値を取得する方法
ここに私のconfig.file:
my $folder = 'E:\FOLDER\Test\WEB';
{
license => [ 'kit-licence.zip',
'kit-work.zip'
],
programs => [
#template society =>\%program_work
'VIKTOR DESCRIPTION PRODUCT' => {
name => 'VIKTOR ',
parameters => [
Count_id => '06 (Viktor)',
Birth_date => '1995-04-30',
Marriage_date => '2014-05-26',
Divorce_date => '2015-03-30',
Activities_folder => $folder.'\VIKTOR\independent worker',
Activities_format => 'Enterprise Format (V35)',
Description_File_from => $folder.'\VIKTOR\FILE\description.xlm',
]
},
'OLIVER NEW OBJECT' => {
name => 'OLIVER ',
parameters => [
Count_id => '06 (oliver)',
Birth_date => '1990-04-30',
Marriage_date => '2011-03-26',
Divorce_date => '2014-01-30',
Activities_folder => $folder.'\OLIVER\independent worker',
Activities_format => 'Enterprise Format (V35)',
Description_File_from => $folder.'\OLIVER\FILE\description.xlm',
]
},
]
};
マイファイルのテストは以下の通りです:
%programs = @{ $config->{programs} };
for my $prog (values %programs) {
my %param = @{ $prog->{parameters} };
for my $name (sort keys %param){
print $name, ': ', $param{$name},"\n";
}
}
:
#test.pl
use Modern::Perl;
my $config = do 'work.conf';
use Data::Dumper;
say Dumper($config);
を例えばヴィクトルのためのプログラムでパラメータを取得するには、私はこれを行うことができます
私の場合、すべてのユーザーにパラメータを取得できるようにしたいと考えています。ここはViktorのためのものです。私はOliverまたは他のユーザーのためにそれらを入手したいと思います。そのために、そしてすべてのユーザーを区別するために、私はすべてのユーザーを区別するための名前である "テンプレート社会"を使用しなければなりません。たとえば、Viktorの場合は、「VIKTOR DESCRIPTION PRODUCT」です。オリバーにとって: "OLIVER NEW OBJECT"。
どうすればいいですか? 「ライセンス」のための
同じこと:
license => [ 'kit-licence.zip',
'kit-work.zip'
],
programs => [..
私は、一つ一つの名前でライセンスを取得したいと思います。たとえば、「kit-license.zip」と入力します。
そのように「ハードコーディング」によってそしてません:ループの中でおそらく
use File::Spec::Functions qw/catfile/;
my $filename = catfile($::svn, ${$config->{license}}[0]);
my $filename1 = catfile($::svn, ${$config->{license}}[1]);
が、私は見つけることができませんでした。
PS:なぜ彼らがすべて離婚したのか聞かないでください。私は本当に知らない。
私は離婚状態について疑問に思うのではなく、このデータ構造はとても奇妙である理由についてではないでしょうそれを得るためにarchive.orgを使用しています。 – simbabque