in reply to Taking arbitrary elements from an array
# 1 2 3 4 5 + 6 # 012345678901234567890123456789012345678901234567890123456 +7890123456789 my @result = @arr[grep{defined}map{$i++;$_?$i-1:undef}split"",sprintf( +"%08b",0x2b)]; [download]