我正在嘗試“推送”到一個匿名的 3 元素陣列,其參考存盤在哈希中:
my %messages;
my $to = "To";
... later ...
$messages{$msg_id}{$to} = [ [], [], [] ];
這基本上可以作業,因為 Data::Dumper 顯示了一個空的 3 元素陣列。我的問題是我不知道如何將資料“推送”到這個匿名陣列上!
我嘗試了很多事情,但意識到我只是在掙扎。我的許多失敗的幾個例子!
my word = "something";
push(@{ $messages{$msg_id}{$to} }->[0], ( $word ));
Can't use an array as a reference at ./hash_array.pl line 53.
my @array = ( word1, word2, word3 );
push(\@{ $messages{$msg_id}{$to} }, ( @array ));
Experimental push on scalar is now forbidden at ./hash_array.pl line 54, near "))"
uj5u.com熱心網友回復:
你只需要移動->[0]到@{...}. 的第一個引數push必須是陣列,而不是參考。另見:https ://perldoc.perl.org/perlref
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %messages;
my $msg_id = 123;
my $to = "To";
$messages{$msg_id}{$to} = [ [], [], [] ];
my $word = "something";
push(@{ $messages{$msg_id}{$to}->[0] }, ( $word ));
print Dumper \%messages;
1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/525403.html
標籤:perl
上一篇:如何使用$val從helmforkubernetes的地圖中獲取價值?
下一篇:使用perl輸出陣列中的元素
