oder so:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/perl
use strict;
use warnings;
my $dateiname='liste%s.txt';
my $lines_per_file=25;
my @files=@ARGV;
die "Bitte Dateien angeben\n" unless(@files);
my $file_cnt=1;
my $out="";
my $line_cnt=0;
for my $file (@files)
{
if(open(my $fh,'<',$file))
{
while(my $line=<$fh>)
{
$line_cnt++;
chomp($line);
$out.="$line\n";
if($line_cnt>=$lines_per_file)
{
my $file_out_name=;
write_out($out,sprintf($dateiname,$file_cnt));
$file_cnt++;
$out="";
$line_cnt=0;
}
}
}
else
{warn "Konnte $file nicht oeffnen ($!)\n"}
}
write_out($out,sprintf($dateiname,$file_cnt)) if($out ne '');
####################################
sub write_out
{
my ($data,$file)=@_;
open(my $fhout,'>',$file) or die "Konnte $file nicht oeffnen ($!)\n";
print $fhout $data;
close($fhout);
}
getestet.
Aufruf: "perl scriptname datei_a datei_b datei_c"