$ perl -Mstrict -Mwarnings -Mautodie -le ' sub match_virtual_grid_rows { local $/ = \shift; open my $fh, "<", \shift; grep { /(.)\1\1/ } <$fh>; } my $virtual_grid_columns = 5; my $grid_string = "ABCBBBCBADBCCACDDDAC"; print for match_virtual_grid_rows($virtual_grid_columns, $grid_string); ' DDDAC