Jeff 'japhy' Pinyan wrote:
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>




Reply via email to