$ perl -Mv5.14 -e' my $scabyte = 0x41; say unpack "B*", pack "C*", $scabyte; ' 01000001 #### $ perl -Mv5.14 -e' my $scabyte = 0x41; say sprintf "%08b", $scabyte; ' 01000001 #### #!/usr/bin/perl use v5.14; use warnings; my $packed_bytes = "ABCD"; my @bytes = unpack 'C*', $packed_bytes; my $bin = ''; for my $byte ( @bytes ) { printf "Decimal = [%1\$d] Hex = [%1\$02X] Binary = [%1\$08b]\n", $byte; $bin .= sprintf( "%08b", $byte ); } say ""; say $bin; #### Decimal = [65] Hex = [41] Binary = [01000001] Decimal = [66] Hex = [42] Binary = [01000010] Decimal = [67] Hex = [43] Binary = [01000011] Decimal = [68] Hex = [44] Binary = [01000100] 01000001010000100100001101000100 #### #!/usr/bin/perl use v5.14; use warnings; my $packed_bytes = "ABCD"; my $bin = unpack "B*", $packed_bytes; say $bin; #### 01000001010000100100001101000100