my @data = ( [ 12, 'First line of text' ], [ 25, 'Second line of text' ], [ 34, 'Third line of text' ], ); foreach (@scoreWords) { my $re = qr/\b\Q$_\E\b/i; foreach (@data) { $_[0] += $y while $_[1] =~ /$re/g; } } #### my @data = ( [ 1, 12, 'First line of text' ], [ 2, 25, 'Second line of text' ], [ 3, 34, 'Third line of text' ], ); foreach (@scoreWords) { my $re = qr/\b\Q$_\E\b/i; foreach (@data) { $_[1] += $y while $_[2] =~ /$re/g; } } print("Line ${$_}[0] has a score of ${$_}[1]\n") foreach sort { $b->[1] <=> $a->[1] } @data; #### my @data = ( [ 12, 'First line of text' ], [ 25, 'Second line of text' ], [ 34, 'Third line of text' ], ); foreach (@scoreWords) { my $re = qr/\b\Q$_\E\b/i; foreach (@data) { $_[0] += $y while $_[1] =~ /$re/g; } } print("${$_}[0]: ${$_}[1]\n") foreach sort { $b->[0] <=> $a->[0] } @data;