# Create the bit vectors my $bv1 = Bit::Vector->new(50); my $bv2 = Bit::Vector->new(50); ... # Keep associated bv's together my @source1 :shared = ($bv1a,$bv2a,...,$bv85000a,...$bv25000000a); my @source2 :shared = ($bv1b,$bv2b,...,$bv85000b); ... # Add these arrays to a single, global array my @sources :shared = (\@source1, \@source2, ...);