use FileHandle;
if ( $#ARGV != 1 ) {
printf( "Usage:perl div.pl number filename\n" );
exit;
}
for ( $i = 1; $i <= $ARGV[0]; $i++ ) {
$filename = sprintf( "%s.%d", $ARGV[1], $i );
$fh = new FileHandle( ">$filename" );
if ( $fh == "" ) {
printf( "Cannot open %s\n", $filename );
exit;
}
$handle[$i] = $fh;
}
open(IN, $ARGV[1]);
while( <IN> ) {
s/[\r\n]//g;
$num = ( $. % $ARGV[0] ) + 1;
$handle[$num]->printf("%s\n", $_ );
}
close(IN);
for ( $i = 1; $i <= $ARGV[0]; $i++ ) {
$handle[$num]->close();
}
exit;
1 2 3 4 : 99
とタイプします。 num.txt.1、num.txt.2という二つのファイルが作成されます。 もし三つに分割したい場合はc:\perl> perl div.pl 2 num.txt
とすればよいのです。c:\perl> perl div.pl 3 num.txt
Copyright © 2004 TKEN