#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; for my $tuple ( [ W => ';A-B;C-D;E-F;G-H;J-K;L-M;N-P;R-S;T-W;Y-Z;' ], [ L => ';A-B-C-D;E-F-G-H;J-K-L-M;N-P-R-S;T-W-Y-Z;' ], [ B => ';A-B;C-D;E-F;G-H;J-K;L-M;N-P;R-S;T-W;Y-Z;' ], [ A => ';A-B-C;D-E-F-G-H-J-K-L;M-N-P-R-S-T;W-Y-Z;' ], [ Z => ';A-B-C;D-E-F-G-H-J-K-L;M-N-P-R-S-T;W-Y-Z;' ], ) { my ($letter, $string) = @$tuple; say "$letter: ", grep index($_, $letter) != -1, split /;/, $string; }