#!/usr/bin/perl use warnings; use strict; use 5.010; { # Within this block because of the next line local $/ = undef; for( =~ /(Data_Set.*?Count= 0)/gs) { my $counter = 0; my $total_aligned_reads = 0; my $mtDNA; for(split /\n/) { ## my $line = $_; #### Unnecessary; see next comment next if /(Data_Set_\d+: |^NoCoordinateCount|^$)/; ## next if /^NoCoordinateCount/; ## next if /^$/; my($chr, $lenLabel, $lengNumbers, $AlignedLabel, $alignedNumbers) = split /\s/; ####, $line; split operates on $_ by default $total_aligned_reads += $alignedNumbers; $mtDNA = $alignedNumbers if $chr eq "chrM"; } say "total aligned reads = $total_aligned_reads"; say "mtDNA = $mtDNA"; say "mtDNA percentage = ", $mtDNA/$total_aligned_reads*100; } } __DATA__