Devoid of feedback on what I posted using your own hash, I'm afraid I cannot be of much more assistance.
I'm simply not clear on the "if this then do that" function you're looking for.
That said, I'm thinking (based on what I've seen) that you may find a hash composition of the below more aligned with your assumed goals:
Code:
%combines = (
"Rings" =>
[
{
rewarditem => 7171,
itemrequired1 => 1111,
itemrequired2 => 2222,
itemrequired3 => 3333,
itemrequired4 => 4444,
moneyrequiredplatinum => 2,
moneyrequiredgold => 0,
moneyrequiredsilver => 0,
moneyrequiredcopper => 0
},
{
rewarditem => 7171,
itemrequired1 => 1111,
itemrequired2 => 2222,
itemrequired3 => 3333,
itemrequired4 => 4444,
moneyrequiredplatinum => 2,
moneyrequiredgold => 0,
moneyrequiredsilver => 0,
moneyrequiredcopper => 0
},
],
"Veils" =>
[
{
rewarditem => 7171,
itemrequired1 => 1111,
itemrequired2 => 2222,
itemrequired3 => 3333,
itemrequired4 => 4444,
moneyrequiredplatinum => 2,
moneyrequiredgold => 0,
moneyrequiredsilver => 0,
moneyrequiredcopper => 0
},
],
"Shoulders" =>
[
{
rewarditem => 7171,
itemrequired1 => 1111,
itemrequired2 => 2222,
itemrequired3 => 3333,
itemrequired4 => 4444,
moneyrequiredplatinum => 2,
moneyrequiredgold => 0,
moneyrequiredsilver => 0,
moneyrequiredcopper => 0
},
],
);