in reply to Re^3: 3-byte representation
in thread 3-byte representation
Add binmode OUT after the open.
Also,
If you don't need signed integers, your question would have been much simpler to answer.
Packing and writing one value at a time is hugely expensive compared to packing all 10000 values in a single pass and then writing them once.
Don't you find this infinitely more readable?
#!/usr/bin/perl use strict; print "Content-type: text/html\n\n"; srand(); my $fil = "ch"; open( OUT, '>', $fil ) or die $!; binmode OUT; for my $i ( 1 .. 10_000 ) { my $j = int( rand( 20_000 ) ) + 440_000; my $k = substr( pack( 'l>', $j ), 1 ); print OUT $k; } close( OUT ); print "DONE !";
Remember that your source code is the equivalent of the professional chef's plated up meal.
His presentation is what makes the difference between a paid for cover and a decent home cooked meal. It is both his edge and his profit margin.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: 3-byte representation
by gerleu (Novice) on Oct 13, 2011 at 14:21 UTC | |
by BrowserUk (Patriarch) on Oct 13, 2011 at 15:40 UTC | |
by gerleu (Novice) on Oct 13, 2011 at 16:36 UTC | |
by BrowserUk (Patriarch) on Oct 13, 2011 at 16:42 UTC | |
by gerleu (Novice) on Oct 13, 2011 at 17:02 UTC |