Dizide yüzlerce dosya adı var. Dizideki her 4 dosya için bir alt işlem oluşturmak istiyorum ve bu çocuğun bu 4 dosyanın her birine bir şeyler yapmasını istiyorum. (100 dosya ile, 25 işlem oluşturacağım.)Perl'de fork() nasıl kullanılır?
Çatal olduğunda satırların işlendiği sırayı anlamakta sorun yaşıyorum. Ben böyle bir şey yapabileceğini düşünüyordum, ama ben sıkışmış alıyorum:
foreach $file (@files) {
if ($f++ % 4 == 0) {
my $pid = fork();
if ($pid) {
push(@childs, $pid);
}
elsif ($pid == 0) {
... do stuff to $file ...
}
}
Bunun doğru olduğunu sanmıyorum ve birinin bana doğru yönde işaret edebilir umut ediyorum. Teşekkürler.
'(benim @ dos- yalarının4 = ek yeri (@files, 0, 4)) {' (@files tahrip olsa) iken – ysth
4 ile '$' artırdığınız için, dilimleme sırasında 4 ile çarpmanız gerekmiyor, değil mi? – itzy
'Listeyi kullanın :: Gen 'by'; benim $ files4 için (by 4 => @files) {$ files4 ile bir şeyler yapın} ' –