У меня есть большой объем данных, сохраненных как выход Data :: Dumper.Как организовать или прочитать большой объем данных?
Как я могу читать эти данные в мире? Я бы хотел его реорганизовать, но я полностью потерял этот подход. структуры данных являются хешами в массивах, которые являются хешами хешей ...
Вот пример (очень урезанный). Кроме того, создание не было большим, поскольку персонаж может иметь две «атаки» или две «специальные», поэтому, очевидно, это столкновение, и один будет перезаписан.
EDIT: Я действительно спрашиваю: это идеальный способ хранения данных? или есть лучший способ? потому что мне доступ к хешу, как $char_hash{Character Name}{abilities}{attack}{tiers}{level 1}{description}
кажется ужасно писать. и перебирая вещи, как @{$char_hash{Character Name}{Equipment}{Equipment Level 1}{Items}}
кажется сумасшедшим трудно
my @char_hash = (
"Character Name" => {
"description" => "",
"alignment" => "",
"categories" => [
"ex 1",
"ex 2",
"ex 4",
"ex 5"
],
"primaryStat" => "Strength (STR)",
"baseStats" => {
"Strength (STR)" => "22",
"Agility (AGI)" => "15",
"Intelligence (INT)" => "17",
"Speed" => "100",
"Health" => "197",
"Physical Damage" => "17"
},
"abilities" => {
"attack" => {
"name" => "ex 1",
"type" => "Physical",
"tiers" => {
"level 1" => {
"description" => ""
},
"level 2" => {
"unlockLevel" => 16,
"cost" => {
"Money" => 700,
"Material" => 3
},
"fromPrevious" => "+5% Damage",
"description" => ""
}
},
"conditions" => {
}
},
"special" => {
"name" => "ex",
"cooldown" => 3,
"type" => "special",
"tiers" => {
"level 1" => {
"description" => ""
},
"level 2" => {
"unlockLevel" => 18,
"cost" => {
"Money" => 1300,
"Material" => 2
},
"fromPrevious" => "+5% Damage",
"description" => ""
}
},
"conditions" => {
}
},
"Equipment" => {
"Equipment Lvl I" => {
"cummulatedStats" => {
"Strength (STR)" => "+22",
"Agility (AGI)" => "+15",
"Intelligence (INT)" => "+17",
"Speed" => "+100",
"Health" => "+197",
"Physical Damage" => "+17"
},
"items" => [
{
"name" => "",
"id" => "",
"tier" => 1,
"mark" => "",
"requiredLevel" => 1,
"sellValue" => 10,
"stats" => {
"Physical Damage" => ""
}
},
{
"name" => "",
"id" => "",
"tier" => 1,
"mark" => "",
"requiredLevel" => 2,
"sellValue" => 20,
"stats" => {
"Strength (STR)" => "",
"Agility (AGI)" => "",
"Intelligence (INT)" => ""
}
},
{
"name" => "",
"id" => "",
"tier" => 1,
"mark" => "",
"requiredLevel" => 2,
"sellValue" => 20,
"stats" => {
"Strength (STR)" => "",
"Agility (AGI)" => "",
"Intelligence (INT)" => ""
}
},
{
"name" => "",
"id" => "",
"tier" => 1,
"mark" => "",
"requiredLevel" => 2,
"sellValue" => 20,
"stats" => {
"Speed" => ""
}
},
{
"name" => "",
"id" => "",
"tier" => 1,
"mark" => "",
"requiredLevel" => 2,
"sellValue" => 20,
"stats" => {
"Strength (STR)" => ""
}
},
{
"name" => "",
"id" => "",
"tier" => 1,
"mark" => "",
"requiredLevel" => 2,
"sellValue" => 20,
"stats" => {
"Armor" => ""
}
}
]
}
}
}
}
);
В чем вопрос? В его нынешнем виде этот пост слишком широк, чтобы быть полезным. –
I отредактировал отредактированный пост – genx1mx6
Ваше редактирование почти усугубило вопрос, потому что теперь любые ответы будут скорее мнениями, чем фактами. –