Leser: 4
![]() |
|< 1 2 3 4 5 6 >| | ![]() |
51 Einträge, 6 Seiten |
Quote(Quote von mir)Aber ich komme nicht drumrum, die Datei zu teilen, zeilenweise.
Weisst du, wie ich das mache?
Das Codeschnipsel muesste die Liste zeilenweise einlesen, dann in 2 gleichgroße Stuecke teilen und jeweils in variablen packen.
Dann waer mir >__wahrscheinlich__< geholfen...
1
2
3
4
5
6
7
8
9
use Tie::File;
my $file = '/path/to/large.file';
my (@array_1, @array_2);
tie my @array,'Tie::File',$file or die $!;
my $index = int(scalar(@array) / 2);
@array_1 = @array[0..$index];
@array_2 = @array[$index+1..$#array];
untie @array;
1 2 3 4 5
sub abfrage() { for(my $i=0;$i<=5000;$i++) { print @array_1[$i]; # === ACHTUNG, Logik Problem === } }
1
2
3
4
5
6
7
8
9
10
11
12
use threads;
sub abfrage{
my ($arref) = @_;
for my $element(@$arref){
print $element;
}
}
my $thread1 = thread->create('abfrage',\@array_1);
my $thread2 = $thread->create('abfrage',\@array_2);
QuoteCan't undef active subroutine during global destruction.
1 2 3 4 5 6 7 8 9 10 11 12
#!/usr/bin/perl use threads; $thr = threads->new(\&sub1); sub sub1() { } my @ReturnData = $thr->join; print @ReturnData;
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
#!/usr/bin/perl use Tie::File; use threads; my $file = 'german.txt'; my (@array_1, @array_2); tie my @array,'Tie::File',$file or die $!; my $index = int(scalar(@array) / 2); @array_1 = @array[0..$index]; @array_2 = @array[$index+1..$#array]; untie @array; sub abfrage{ my ($arref) = @_; for my $element(@$arref){ print $element; } } my $thr = new Thread \&abfrage, @array_1; my $thr = new Thread \&abfrage, @array_2;
1 2
my $thr1 = threads->create(\&abfrage,@array_1); my $thr2 = threads->create(\&abfrage,@array_2);
![]() |
|< 1 2 3 4 5 6 >| | ![]() |
51 Einträge, 6 Seiten |