#!usr/bin/perl use strict; use warnings; use List::Util qw(sum); my @windsordigits; while (my $x = ){ next unless $x =~ /WINDSOR\sRIVERSIDE/; push @windsordigits, +(split /,/, $x)[-1]; } die "No 'Windsor digits found in input\n" unless @windsordigits; my $average = sum(@windsordigits) / @windsordigits; print "Average is: $average\n"; __DATA__ CA006139520,"WINDSOR RIVERSIDE, ON CA",2018-01-02,10 CA006139520,"WINDSOR RIVERSIDE, ON CA",2018-01-02,20 CA006139520,"WINDSOR RIVERSIDE, ON CA",2018-01-02,14 CA006139520,"WINDSOR DRIVE, ON CA",2018-01-02,10