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