This should not appear as "categorized answers" as it may mislead others.
Apart from the fact the you don't do any error-handling (e.g. your program does not work for negative numbers, but does not raise an error) the implementation is questionable.
If your printing of intermediate values is not considered an essential feature you could e.g. simply do this:
my $binary = sprintf "%b", $inputNumber;
my @array = split //, $binary; # if you absolutely want the bits as a
which may not even be the optimal solution but is clearer, shorter and faster than your attempt.