my @record = map scalar(<IN>), 1 .. 6;
It's a neat trick :)
Same trick, but to split up *any text* files -
#! /usr/local/bin/perl
use strict; use warnings;
# Example command: # perl split_files syslog [3] # where [] is an optional number of files to split into...
# This version is somewhat slower than the earlier version.
my $filename = shift || die "no file name given..."; my $split_into = shift || 3; my $line_cnt; my $x;
open (ROFILE, "$filename") or die "cannot open $filename $!"; while(<ROFILE>) { ++$line_cnt; } close (ROFILE) or die "cannot close $filename $!";
open (ROFILE, "$filename") or die "cannot re-read $filename $!";
for ($x=0; $x < $split_into; ++$x) {
open (WOFILE, ">$filename.$x") or die "cannot write to $filename.$x $!";
until (eof ROFILE) {
my @data_lines = map scalar(<ROFILE>), 1 .. ($line_cnt/$split_into);
print WOFILE @data_lines;
last;
}
close (WOFILE) or die "cannot close $filename.$x $!"; }
close (ROFILE) or die "cannot close $filename $!"; print "Done ... \n\n";
__END__
--
_Sx_ http://youve-reached-the.endoftheinternet.org/ _________________________________________________________________
perl -MMIME::Base64 -e 'print decode_base64("SnVzdCBvbmUgbW9yZSBQb3N0Zml4IDIuMnggU25hcHNob3QgRmlsdGVyLCBwbGVhc2UK");'
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>