#!perl # Untested use 5.012; my $partsize = 200 * 1024 * 1024; my $file = shift or die 'no file'; open my $in, '<', $file or die "Can't open '$file' for reading: $!"; my $part = 1; my $size = 0; open my $out, '>', "$file.part$part" or die "Can't open '$file.part$part' for writing: $!"; while (<$in>) { print $out $_; $size += length $_; if ( $size >= $partsize ) { close $out; $part++; open $out, '>', "$file.part$part" or die "Can't open '$file.part$part' for writing: $!"; $size = 0; } }