我无法打印整行,因为我尝试使用Config来解析ini文件:Ini操作,它的最后一部分我相信该数组将会有整条生产线并不仅是关键,我肯定在这里的东西使用Config :: IniFiles读取文件时读取整个字符串:
输入
[DomainCredentials]
broker=SERVER
domain=CUSTOMER1
[ProviderCredentials]
Class=A
Routine=B
代码
#!/sbin/perl -w
use lib "/usr/lib/perl5/site_perl";
use lib "/usr/lib/perl5/vendor_perl";
use strict;
use warnings;
use Config::IniFiles;
my $sPPFile="/tmp/config.txt";
my $sysSec="DomainCredentials";
my $cfg = Config::IniFiles->new(-file=> $sPPFile) || die "Could open file $sPPFile\n";
if ([email protected]){
print "Error";
exit 1;
}
my @params_provider = $cfg->Parameters("ProviderCredentials");
foreach (@params_provider){
print $_."\n";
}
输出
Class
Routine
期望输出
Class=A
Routine=B
我做了这个'my%ini; tie%ini,'Config :: IniFiles',(--file => $ sPPFile); foreach(%{$ ini {ProviderCredentials}}){ #print“Key:”。$ _。“\ t Value:”。$ cfg-> val(“ProviderCredentials”,$ _)。“\ n”; print $ _。“\ n”; } ''我得到的输出是'Class \ n A \ n例程\ b B'全部用4个不同的行 – learner
@learner - 你已经将一个散列传递给'foreach':'foreach(%{$ ini {ProviderCredentials} }){'并且您正在打印返回的散列元素列表。在循环的边上尝试使用foreach(键%{$ ini {ProviderCredentials}}){'和'print'$ _ = $ ini {ProviderCredentials} {$ _} \ n“'。 – Kenosis