You can also split the detection of WINDSOR RIVER from the extraction on the values. Here is my way ...
#!usr/bin/perl use strict; use warnings; use List::Util qw(sum); my @windsordigits; while (my $x = <DATA>){ 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
I use a regex to match, then if we matched in the regex, split the line on the , character and take the last element or the resulting list using the [-1] offset.
Cheers,
R.
In reply to Re: Illegal division by zero
by Random_Walk
in thread Illegal division by zero
by drose2211
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |