my $str = 'xx556xx'; my @x = grep --$|, $str =~ m/((.)\2*)/g; report('pre-deincrement', @x); my @x = grep $|--, $str =~ m/((.)\2*)/g; report('post-deincrement', @x); my @x = grep ++$|, $str =~ m/((.)\2*)/g; report('pre-increment', @x); my @x = grep $|++, $str =~ m/((.)\2*)/g; report('post-increment', @x); sub report{ my ($type, @y) = @_; print "\n\nautoflush = ", $|, " , $type\n"; print join ',', @y; }