I'm trying to print output of the following code, but there is something wrong with it, some lines do not have 5 columns, some values are missing, mixed , ....
./script.pl file 5 0.00 0.021
#!/usr/bin/perl
use warnings;
use strict;
use Parallel::ForkManager;
my $outputfilename = $ARGV[0];
my $CPU_count = $ARGV[1];
my $start = $ARGV[2];
my $end = $ARGV[3];
my $fork_manager = Parallel::ForkManager->new($CPU_count);
for ( my $k1 = $start; $k1 < $end; $k1 += 0.001 ) {
$fork_manager->start and next;
for ( my $k2 = $start; $k2 < $end; $k2 += 0.01 ) {
for ( my $k3 = $start; $k3 < $end; $k3 += 0.001 ) {
for ( my $k4 = $start; $k4 < $end; $k4 += 0.001 ) {
for ( my $k5 = $start; $k5 < $end; $k5 += 0.001 ) {
open my $F1, '>',$outputfilename . "_" . $k1 . $k2 . $k3 . $k4 . $k5 or die $!;
print $F1 ("k1: $k1\tk2: $k2\tk3: $k3\tk4: $k4\tk5: $k5\n");
}
}
}
}
$fork_manager->finish;
}
$fork_manager->wait_all_children;
incorrect output
...
k1: 0.002 k2: 0.00 k3: 0.00 k4: 0.016 k5: 0.006
k1: 0.002 k00 k2: 0.00 k3: 0.001 k4: 0.012 k5: 0.003
k1: 0.003 k2: 0.00 k3: 0.012 k4: 0.013 k5: 0.001
k1: 0.003 k2: 0.00 k3: 0.012 0.011
....
Thank you very much for your help!
"k1: ",$k1,"\t","k2: ",$k2,"\t","k3: ",$k3,"\t","k4: ",$k4,"\t","k5: ",$k5,"\n"better written"k1: $k1\tk2: $k2\tk3: $k3\tk4: $k4\tk5: $k5\n"