in reply to Writing PDF binary file from stream yields malformed PDF
The problem here is that you are using readline() on a binary file.
You are relying on the fact that many binary files happen to contain bytes that look like line ends.
And using for with a file handle means you are slurping the whole file into a list.
And if the file contains (say) a lot of packed binary integers, it could mean that you are reading and writing the file in a gazillion iddy-biddy chunks.
You say you've tried sysread and syswrite but don't show any code, or how the results failed -- ie. did you compare the input and output files?
Your best bet would be to replace the read/write loop above with something like:
open OUT ... { local $\; my $buffer; while( read( STDIN, $buffer, 4096 ) ) { print OUT $buffer; } } close OUT;
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
In Section
Seekers of Perl Wisdom