リストからハッシュを初期化できます。
my %hash = (1..10);
my %hash2 = split /[\n=]/;
一時変数を使用するよりも、新しいキー/値のリストをハッシュに追加するより良い (より簡単な) 方法はありますか?
while (<>) {
my ($k, $v) = split /=/, $_, 2;
$hash{$k} = $v;
}
間違ってるかもしれないけど次は
use 5.014;
use warnings;
use Data::Dumper;
#create a hash
my %hash = map { "oldvar" . $_ => "oldval" . $_ } (1..3);
#add to the hash
%hash = (%hash, map {split /[=\n]/} <DATA>);
say Dumper \%hash;
__DATA__
var1=val1
var2=val2
var3=val3
版画
$VAR1 = {
'oldvar1' => 'oldval1',
'oldvar2' => 'oldval2',
'var1' => 'val1',
'var3' => 'val3',
'oldvar3' => 'oldval3',
'var2' => 'val2'
};