Для трех скаляров, что такое синтаксис perl для заполнения хэша, в котором один из скаляров является ключом, другой определяет, какой из двух массивов заполнен, а третий добавлен к один из массивов? Например:Заполнение хэш многомерных массивов в perl
my $weekday = "Monday";
my $kind = "Good";
my $event = "Birthday";
и даны только скаляры, а не их конкретных значений, полученных в цикле, я хочу, хэш, как:
my %Weekdays = {
'Monday' => [
["Birthday", "Holiday"], # The Good array
["Exam", "Workday"] # The Bad array
]
'Saturday' => [
["RoadTrip", "Concert", "Movie"],
["Yardwork", "VisitMIL"]
]
}
Я знаю, как добавить значение в массив в хэш, например, если ключ один массив:
push(@{ $Weekdays{$weekday} }, $event);
Используется в цикле, который мог бы дать мне:
%Weekdays = {
'Monday' => [
'Birthday',
'Holiday',
'Exam',
'Workday'
]
}
Я полагаю, что хэш-ключ является конкретным днем недели, а значение должно быть двухмерным массивом. Я не знаю синтаксиса perl, скажем, нажимать «День рождения» в хэш как элемент [0] [0] в массиве буднего дня, а в следующий раз через цикл нажимать другое событие в виде [0] [1] или [1] [0]. Аналогично, я не знаю, синтаксис для доступа к ним.
Это делает трюк, спасибо. Я также ценю идею использования хеша хешей вместо этого; Тем не менее, мне придется реорганизовать некоторые другие вещи. – jasper77