Ineffectual has asked for the wisdom of the Perl Monks concerning the following question:
Hey all,
reading file 05398.bin with size 90942 with nCols 3954 and nRows 23
nCols stays static for all of the files, but nRows changes for each file.
So this should come out to be a matrix that has 3954 columns and 23 rows.
I've tried using C$nCols or C$nRows in the split or b$nRows or B$nRows, but none seems to give the appropriate output. Each cell of the matrix should contain one number 0 or 1. I've tried splitting on length($read) or $nRows before unpacking. When I do an unpack('C*', $read) into an array then the # of elements is generally 5-6, not the length of my rows. I'm stumped- help perl monks!
I'm attempting to unpack an 8 bit unsigned char matrix that was generated in python. I'm not sure how to do this in perl. Here's what I've attempted so far.
This will print out:my $file = $matrixPath.'/'.$info{$transcriptName}{'PATH'}; my $fileSize = -s $file; open IN, $file or die "Can't open inputfile $file $!"; binmode(IN); my $buffer; my $nRows = $info{$transcriptName}{'CNT'}; print "reading file $file with size $fileSize with nCols $nCols an +d nrows $nRows\n"; while ( my $read = sysread(IN, $buffer, $fileSize)) { my ($data) = unpack("C*", $read); print " data is ".Dumper $data; print sprintf("%08b", $data)."\n"; } close IN;
reading file 05398.bin with size 90942 with nCols 3954 and nRows 23
nCols stays static for all of the files, but nRows changes for each file.
So this should come out to be a matrix that has 3954 columns and 23 rows.
I've tried using C$nCols or C$nRows in the split or b$nRows or B$nRows, but none seems to give the appropriate output. Each cell of the matrix should contain one number 0 or 1. I've tried splitting on length($read) or $nRows before unpacking. When I do an unpack('C*', $read) into an array then the # of elements is generally 5-6, not the length of my rows. I'm stumped- help perl monks!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Unpack an 8 bit unsigned char matrix
by BrowserUk (Patriarch) on Jul 15, 2013 at 20:22 UTC | |
by Ineffectual (Scribe) on Jul 15, 2013 at 21:19 UTC | |
by BrowserUk (Patriarch) on Jul 15, 2013 at 22:06 UTC | |
by BrowserUk (Patriarch) on Jul 15, 2013 at 21:56 UTC |
Back to
Seekers of Perl Wisdom