gpt4 book ai didi

perl hash hash 中奇数个元素

转载 作者:行者123 更新时间:2023-12-01 00:35:28 28 4
gpt4 key购买 nike

我有这个配置文件

dbUser=customer
dbPass=passwrd
dbSid=customer.shadow
passwdFile=/production/etc-user
tmpUsers=tmpuser
htpasswd=/usr/local/apache2/bin/htpasswd

然后是一个读取配置文件的脚本:
#!/usr/local/bin/perl
use warnings;
use strict;

readConfig();
# reads in a config file
sub readConfig {
my $configFile = $ARGV[0];
my %prefs ="" ;
open (CONFIG, "< $configFile") or die "Cannot open $configFile for reading: $!\n";
while (<CONFIG>) {
chomp; # kill newlines
s/#.*//; # ignore comments
s/^\s+//; # ignore leading whitespace
s/\s+$//; # ignore trailing whitespace
next unless length;
my($var,$value) = split(/\s*=\s*/, $_, 2);
$prefs{$var} = $value;
print "$var : $prefs{$var}\n";
}
}

我得到一个奇怪的错误 - 散列赋值中的元素数是奇数:
bash-3.00$   /tmp/config_foo  /production/cfg/users.cfg
Odd number of elements in hash assignment at /tmp/config_foo line 10.
dbUser : customer
dbPass : passwd
dbSid : customer.shadow
passwdFile : /production/etc-users1
tmpUsers : tmpuser
htpasswd : /usr/local/apache2/bin/htpasswd
bash-3.00$
bash-3.00$

最佳答案

my %prefs = "";

是导致错误的行。散列应该使用具有偶数个元素的列表进行初始化。你可以写
my %prefs = ();

但没有理由,因为
my %prefs;

做同样的事情。

关于perl hash hash 中奇数个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012900/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com