gpt4 book ai didi

perl - 如何在 Perl 中将数组转换为散列?

转载 作者:行者123 更新时间:2023-12-03 21:00:29 25 4
gpt4 key购买 nike

我有一个数组并尝试将数组内容转换为带有键和值的哈希。索引 0 是键,索引 1 是值,索引 2 是键,索引 3 是值等。

但它没有产生预期的结果。代码如下:

open (FILE, "message.xml") || die "Cannot open\n";

$var = <FILE>;

while ($var ne "")
{
chomp ($var);
@temp = split (/[\s\t]\s*/,$var);
push(@array,@temp);
$var = <FILE>;
}

$i = 0;
$num = @array;
while ($i < $num)
{
if (($array[$i] =~ /^\w+/i) || ($array[$i] =~ /\d+/))
{
# print "Matched\n";
# print "\t$array[$i]\n";
push (@new, $array[$i]);
}
$i ++;
}
print "@new\n";


use Tie::IxHash;
tie %hash, "Tie::IxHash";

%hash = map {split ' ', $_, 2} @new;

while ((my $k, my $v) = each %hash)
{
print "\t $k => $v\n";
}

产生的输出不正确:
name Protocol_discriminator attribute Mandatory type nibble value 7 min 0 max F name Security_header attribute Mandatory type nibble value 778 min 0X00 max 9940486857
name => Security_header
attribute => Mandatory
type => nibble
value => 778
min => 0X00
max => 9940486857

在输出中,您可以看到散列仅由一部分构成,而数组的另一部分并未在散列中创建。

任何人都可以帮忙吗?

最佳答案

仅此而已:

%hash = @array;

关于perl - 如何在 Perl 中将数组转换为散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412014/

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