#!/usr/bin/perl -l use strict; use warnings; my @array1 = (0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1); my @array2 = (0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1); my $bits1 = eval '0b' . join '', @array1; my $bits2 = eval '0b' . join '', @array2; my $bitsResult = $bits1 | $bits2; my $len = scalar @array1; my @arrayResult = split //, sprintf "%0${len}b", $bitsResult; print "\$bits1:[$bits1], \$bits2:[$bits2], \$bitsResult:[$bitsResult]"; print "Result: ", join(", ", @arrayResult), "\n";