sub johngg { map { my $offsetVec4 = $_ * 6; my $offsetVec2 = $_ * 12; my @vals = ( ( ( vec( $_[0], $offsetVec4 + 1, 4 ) << 2 ) + vec( $_[0], $offsetVec2 + 1, 2 ) ), ( ( vec( $_[0], $offsetVec2, 2 ) << 4 ) + vec( $_[0], $offsetVec4 + 3, 4 ) ), ( ( vec( $_[0], $offsetVec4 + 2, 4 ) << 2 ) + vec( $_[0], $offsetVec2 + 11, 2 ) ), ( ( vec( $_[0], $offsetVec2 + 10, 2 ) << 4 ) + vec( $_[0], $offsetVec4 + 4, 4 ) ), ); } 0 .. 7; }