#!/usr/bin/perl use warnings; use strict; use 5.010; $/ = ''; ## paragraph mode while( my $dataset = ) { ## open each dataset as a ramfile open DATASET, '<', \$dataset or die $!; local $/ = "\n"; ## Return readline to by-line mode my $counter = 0; my $total_aligned_reads = 0; my $mtDNA; while () { ## my $line = $_; #### Unnecessary; see next comment next if /Data_Set_\d+: /; 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__ ...sample data as above ...