my @VLANS, @MACS, @INTS);
push $HASH{$MACS[$mac]}, [$VLANS[$vlan], [$INTS[$int]];
####
# make the data a string
$value = join("|", $VLAN, $MAC, $INT);
# put them into a 1 dimentional hash (however, servers with the same mac hash overwrite each other, although you can check)
if( defined $HASH{$mac} ) {
warn "Two servers with the same $mac";
}else{
$HASH{$mac}=$value;
}
####
for my $mac (keys %HASH){
my $value = $HASH{$mac};
($VLAN, $MAC, $INT) = split("|", $value);
}
####
# or put them in a multi-dimensional hash.
$HASH{$mac}{$value}++;
####
for my $mac (keys %HASH){
for my $value (keys %{$HASH{$mac}}){
}
}