in reply to Binary file handling
The simple combination of File::ReadBackwards, split join and reverse does it off disk, fast and efficiently. The split assumes some sort of space separated data but you could modify this if required. HTH
C:\>type transpose.pl #!/usr/bin/perl -w use strict; use File::ReadBackwards; transpose( "c:/data.txt", "c:/data-transpose.txt" ); sub transpose { my ( $infile, $outfile ) = @_; tie *BW, 'File::ReadBackwards', $infile or die "Can't read $infile + $!\n"; open OUT, ">$outfile" or die "Can't write $outfile $!\n"; while( <BW> ) { chomp; print OUT join "\t", reverse(split ' '),"\n"; } close BW; close OUT; } C:\>type data.txt 11 12 13 21 22 23 31 32 33 C:\>transpose.pl C:\>type data-transpose.txt 33 32 31 23 22 21 13 12 11 C:\>
cheers
tachyon
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re:^2 Binary file handling
by Hena (Friar) on Mar 18, 2004 at 14:15 UTC | |
by tachyon (Chancellor) on Mar 18, 2004 at 14:53 UTC | |
by Hena (Friar) on Mar 19, 2004 at 08:59 UTC | |
by Hena (Friar) on Mar 19, 2004 at 11:40 UTC | |
by tachyon (Chancellor) on Mar 19, 2004 at 13:04 UTC | |
by tachyon (Chancellor) on Mar 18, 2004 at 14:19 UTC | |
by Hena (Friar) on Mar 18, 2004 at 14:38 UTC |