in reply to a newbie's output reversed

My output seems to be coming out in reverse order of how it is programmed.
I have no idea what you mean by that. Show the output you expect for a given input.
when run it says scalar value @binary1 better written as $binary1, what does that mean?
Use perldoc diagnostics to get a more verbose explanation:
use diagnostics;
Another tip: Don't use quotes around your numbers when performing numeric comparisons. Change:
elsif ( $decimal < "256" ) {
to:
elsif ( $decimal < 256 ) {
See also:
perldoc -q convert