in reply to File splitting script
I think you found a bug in perl. The length parameter is being treated as an unsigned integer (UV), but is being stored as a signed integer (IV). (Or is it the other way around?). In any case, any attempt to specify a length of greater than 2**31-1 results in the "Negative length" error. (Tested on AS811 and AS817 under XP):
[0] Perl> open I, '<:raw', '32GB.dat.bz2';; [0] Perl> read( I, $c, 2147483648 );; [Negative length at (eval 4) line 1, <STDIN> line 2. ] Perl> read( I, $c, 2147483647 );;
|
|---|