http://www.perlmonks.org?node_id=863814


in reply to Count similar characters in a row

use strict; use warnings; while (<DATA>) { my @cols = split; shift @cols; my $all_r = 1; for my $c (@cols) { if ($c ne 'r') { $all_r = 0; last; } } print if $all_r; } __DATA__ 0 a b h 1 - r z 3 u - u 4 r x r 5 r t r 6 r r r 7 r r r 8 r r r

prints out:

6 r r r 7 r r r 8 r r r

update: even better with List::MoreUtils:

use strict; use warnings; use List::MoreUtils qw(all); while (<DATA>) { my @cols = split; print if all { $_ eq 'r' } @cols[1 .. $#cols]; } __DATA__ 0 a b h 1 - r z 3 u - u 4 r x r 5 r t r 6 r r r 7 r r r 8 r r r