#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; say my $search_for_species = 'O4'; while (<>) { my %counts; my @species = split; my @numbers = split ' ', <>; warn "Different number of columns at line $.!" if @species != @numbers; for my $i (0 .. $#species) { $counts{ $species[$i] } = $numbers[$i]; } say $counts{$search_for_species} // 0; }