Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Count and print in perl

by johngg (Canon)
on Apr 17, 2017 at 13:28 UTC ( [id://1188134]=note: print w/replies, xml ) Need Help??


in reply to Count and print in perl

It is not clear what you mean by "binary" file. Do you have a file like the one I've constructed here?

johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -E ' open my $inFH, q{<}, \ <<EOF or die $!; 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 +1 3 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 5 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 6 1 1 0 0 0 0 0 1 1 0 0 0 1 +0 0 0 1 7 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 8 1 1 0 0 0 0 0 1 1 0 0 0 + 1 0 0 0 1 9 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 10 1 1 0 0 0 0 0 1 1 0 + 0 0 1 0 0 0 1 11 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 12 1 1 0 0 0 0 0 +1 1 0 0 0 1 0 0 0 1 13 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 EOF chomp( my $text = <$inFH> ); close $inFH or die $!; my $packed = pack q{C*}, map { 0 + $_ } split m{\s+}, $text; print $packed;' > spw1188105.dat johngg@shiraz:~/perl/Monks > hexdump -C spw1188105.dat 00000000 01 01 00 00 00 00 00 00 00 00 01 00 00 00 00 00 |......... +.......| 00000010 00 00 02 01 01 00 00 00 00 00 01 01 00 00 00 01 |......... +.......| 00000020 00 00 00 01 03 01 01 01 00 00 00 00 00 00 01 00 |......... +.......| 00000030 00 00 00 00 00 00 04 01 01 01 00 00 00 00 00 00 |......... +.......| 00000040 01 00 00 00 00 00 01 00 05 01 01 00 00 00 00 00 |......... +.......| 00000050 01 01 00 00 00 01 00 00 00 01 06 01 01 00 00 00 |......... +.......| 00000060 00 00 01 01 00 00 00 01 00 00 00 01 07 01 01 00 |......... +.......| 00000070 01 00 00 00 00 00 01 00 00 00 00 00 00 00 08 01 |......... +.......| 00000080 01 00 00 00 00 00 01 01 00 00 00 01 00 00 00 01 |......... +.......| 00000090 09 01 01 00 00 01 00 00 00 00 01 00 00 00 00 00 |......... +.......| 000000a0 00 00 0a 01 01 00 00 00 00 00 01 01 00 00 00 01 |......... +.......| 000000b0 00 00 00 01 0b 01 01 00 00 00 01 00 00 00 01 00 |......... +.......| 000000c0 00 00 00 00 00 00 0c 01 01 00 00 00 00 00 01 01 |......... +.......| 000000d0 00 00 00 01 00 00 00 01 0d 01 01 00 00 00 00 01 |......... +.......| 000000e0 01 01 01 00 00 00 00 00 00 00 |......... +.| 000000ea

Or something else? Please clarify.

Cheers,

JohnGG

Replies are listed 'Best First'.
Re^2: Count and print in perl
by Anonymous Monk on Apr 17, 2017 at 16:50 UTC
    print pack 'C*', map 0 + $_, split /\s+/, <DATA>; __DATA__ 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 +1 3 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 5 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 6 1 1 0 0 0 0 0 1 1 0 0 0 1 +0 0 0 1 7 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 8 1 1 0 0 0 0 0 1 1 0 0 0 + 1 0 0 0 1 9 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 10 1 1 0 0 0 0 0 1 1 0 + 0 0 1 0 0 0 1 11 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 12 1 1 0 0 0 0 0 +1 1 0 0 0 1 0 0 0 1 13 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0

      Assuming Anonymonk is actually kanikas16 who forgot to log in I'll take that as a yes, in which case something along these lines:-

      johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -E ' my $inFile = q{spw1188105.dat}; open my $inFH, q{<}, $inFile or die qq{open: < $inFile: $!\n}; while ( my $bytesRead = read $inFH, my $record, 18 ) { printf q{%-3d} x 18 . qq{%s\n}, map( ord, split m{}, $record ), q{x} x 35; } close $inFH or die qq{close: < $inFile: $!\n};' 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 2 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 3 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 4 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 5 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 6 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 7 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 8 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 9 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 10 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 11 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 12 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx 13 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx

      I hope this is heading in the right direction.

      Cheers,

      JohnGG

        hi, but this is not printing into binary format
        49 32 49 32 48 32 48 32 48 32 48 32 48 32 48 32 48 32+ +48 32 49 32 48 32 48 32 48 32 48 32 48 32 48 32 48 32+ +50 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32 49 32+ +49 32 48 32 48 32 48 32 49 32 48 32 48 32 48 32 49 32+ +51 32 49 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32+ +48 32 49 32 48 32 48 32 48 32 48 32 48 32 48 32 48 32+ +52 32 49 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32+ +48 32 49 32 48 32 48 32 48 32 48 32 48 32 49 32 48 32+ +53 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32 49 32 +49 32 48 32 48 32 48 32 49 32 48 32 48 32 48 32 49 32 +54 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32 49 32 +49 32 48 32 48 32 48 32 49 32 48 32 48 32 48 32 49 32 +55 32 49 32 49 32 48 32 49 32 48 32 48 32 48 32 48 32 +48 32 49 32 48 32 48 32 48 32 48 32 48 32 48 32 48 32 +56 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32 49 32 +49 32 48 32 48 32 48 32 49 32 48 32 48 32 48 32 49 32 +57 32 49 32 49 32 48 32 48 32 49 32 48 32 48 32 48 32 +48 32 49 32 48 32 48 32 48 32 48 32 48 32 48 32 48 32 +49 48 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32 49 +32 49 32 48 32 48 32 48 32 49 32 48 32 48 32 48 32 49 +32 49 49 32 49 32 49 32 48 32 48 32 48 32 49 32 48 32 +48 32 48 32 49 32 48 32 48 32 48 32 48 32 48 32 48 32 +48 32 49 50 32 49 32 49 32 48 32 48 32 48 32 48 32 48 +32 49 32 49 32 48 32 48 32 48 32 49 32 48 32 48 32 48 +32 49 32 49 51 32 49 32 49 32 48 32 48 32 48 32 48 32 +49 32 49 32 49 32 49 32 48 32 48 32 48 32 48 32 48 32 +48 32 48 32 49 52 32 49 32 49 32 48 32 48 32 48 32 48 +32 48 32 49 32 49 32 48 32 48 32 48 32 49 32 48 32 48 +32 48 32 49 32 49 53 32 49 32 49 32 48 32 48 32 48 32 +48 32 48 32 48 32 48 32 49 32 49 32 48 32 48 32 48 32 +48 32 49 32 48 32 48 32 48 32 48 32 48 32 49 32 49 32 Argument "" isn't numeric in printf at counter.pl line 3 Missing argument in printf at counter.pl line 36.
        Did you run "Anonymonk's" code and compare to your own?
Re^2: Count and print in perl
by kanikas16 (Initiate) on Apr 18, 2017 at 07:32 UTC

    Hi,

    i Have one text file in which binary data is available where from 1 to 25 is the iteration of binary no.

    1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 +1 3 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 + 1 0 5 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 6 1 1 0 0 0 0 0 1 1 0 0 0 1 +0 0 0 1 7 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 8 1 1 0 0 0 0 0 1 1 0 0 0 + 1 0 0 0 1 9 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 10 1 1 0 0 0 0 0 1 1 0 + 0 0 1 0 0 0 1 11 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 12 1 1 0 0 0 0 0 +1 1 0 0 0 1 0 0 0 1 13 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 14 1 1 0 0 0 + 0 0 1 1 0 0 0 1 0 0 0 1 15 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 16 1 1 +0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 17 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 18 + 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 19 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 + 0 20 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 21 1 1 0 0 0 0 0 0 0 1 0 0 0 +1 1 0 0 22 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 23 1 1 0 0 0 0 0 0 0 1 0 + 0 0 0 0 0 0 24 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 25 0 1 0 0 0 0 0 1 +1 1 0 0 0 0 0 0 0

    -----------------------------------------------------------------------------------------------------------------------------------

    and i want to split this file in aligned format like this

    -----------------------------------------------------------------------------------------------------------------------------------

    1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 3 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 4 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 6 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 7 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 8 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 10 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 11 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 12 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 13 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 14 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 15 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 16 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 17 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 19 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 21 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 22 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 23 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 24 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 25 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    -----------------------------------------------------------------------------------------------------------------------------------

    my final output file should be like format.xxxxx is space between lines.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1188134]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2024-04-25 08:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found