【发布时间】:2013-12-30 06:53:20
【问题描述】:
我有一个结构如下,其中包含哈希的哈希数组。从哈希中取消引用值时出现错误。
$VAR1 = \{
'2001' => {
'Arunachal Pradesh' => {
'CHANGLANG' => [
{
'wheat' => '2',
'cotton' => '',
'rice' => '1'
}
],
'SUBANSIRI UPPER' => [
{
'wheat' => '',
'cotton' => '1',
'rice' => '2'
}
],
},
'Andhra Pradesh' => {
'CHITTOOR' => [
{
'wheat' => '34',
'cotton' => '14',
'rice' => '27'
}
],
'VIZIANAGARAM' => [
{
'wheat' => '2',
'cotton' => '',
'rice' => '8'
}
],
}
}
};
我正在尝试取消引用单个值,以便我可以将这些值填充到 mysql 数据库中。但是我在取消引用单个值本身时收到错误“在连接 (.) 或字符串中使用未初始化的值 $state”。代码如下:
while (my ($key, $href) = each(%$stat) ) {
my $state = $stat->{$state_name}; #where the first value is the state name & the second value is the district
print "$state\n";
}
州名代码如下:
if ($line =~ m/^State:,(\w+\s\w+),/){
$state_name = $1;
$stat->{$year}->{$state_name} = {};
}
我可以通过任何其他方式获取单个值,或者我需要将其分配给另一个哈希等等。谢谢。
【问题讨论】:
-
您的代码中的
$state_name设置在哪里?它不在您提供的代码中。您的意思是在这里使用不同的变量吗? -
请看上面的代码。此外,$state-name 与用于创建哈希的变量相同。谢谢