在Perl中读取属性文件时出现问题
我想使用perl读取属性文件。 我的属性文件abc.properties的格式如下:在Perl中读取属性文件时出现问题,perl,Perl,我想使用perl读取属性文件。 我的属性文件abc.properties的格式如下: jdk=Path1:Path2:PathN soa=Path1:Path2:PathN 这是我的密码: #!/usr/bin/perl my %o; open my $in, "abc.properties" or die $!; while(<$in>) { $o{$1}=$2 while m/(\S+)=(\S+)/g; } close $in; for (keys %o) {
jdk=Path1:Path2:PathN
soa=Path1:Path2:PathN
这是我的密码:
#!/usr/bin/perl
my %o;
open my $in, "abc.properties" or die $!;
while(<$in>) {
$o{$1}=$2 while m/(\S+)=(\S+)/g;
}
close $in;
for (keys %o) {
my @value_array = @{$o{$_}};
print "Key is $_ and value is @values\n";
}
#/usr/bin/perl
我的%o;
在“abc.properties”或“die$”中打开我的$!;
while(){
$o{$1}=$2,而m/(\S+)=(\S+)/g;
}
以美元收盘;
用于(键%o){
我的@value_数组=@{$o{$};
打印“键为$且值为@values\n”;
}
输出为:
键是jdk,值是
关键是soa,价值是
我无法读取与键对应的值。我的目标是读取值,然后将其拆分为:
作为perl新手,任何帮助都将不胜感激 如果希望每个键只存储一个值,则无需创建值数组
for (keys %o) {
print "Key is $_ and value is $o{$_}\n";
}
此外,在与正则表达式匹配的行上,应使用if
而不是。一条线怎么能匹配好几次
增加使用严格;使用警告
会告知您所犯的一些错误(即混淆@value\u数组和@values)。每个键是否只有一个值?而且,使用严格的;使用警告缺少代码>。是的,对于每个键,只有一个值包含多个冒号:始终使用strict
。始终使用警告
。