in reply to Re^4: Count similar characters in a row - only once
in thread Count similar characters in a row - only once

Please critisize as it must be 100% accurate.

Does it perform the transformation you wanted correctly?

If so, here is my criticism

#!/usr/bin/perl -- #~ 2011-06-29-05:41:44 Anonymous Monk #~ perltidy -csc -otr -opr -ce -nibc -i=4 use strict; use warnings; use autodie; Main(@ARGV); exit(0); sub Main { if ( @_ == 2 ) { NotDemoMeaningfulName(@_); } else { Boobbly(); print Usage(); } } ## end sub Main sub NotDemoMeaningfulName { my ( $datafile, $outfile ) = @_; my %seen; open my $dataFh, '<', $datafile; # autodie open my $Pos, '>', $outfile; # autodie while (<$dataFh>) { $seen{$_}++; if ( $seen{$_} !~ /-/g ) { next if $seen{$_} > 1; print $Pos $_; } } ## end while (<$dataFh>) # close $Pos; # happens implicitly # close $dataFh; # on return return; } ## end sub NotDemoMeaningfulName sub Usage { <<"__USAGE__"; $0 dataFile newDataFile perl ${\__FILE__} dataFile newDataFile __USAGE__ } ## end sub Usage sub Boobbly { #~ http://perlmonks.org/index.pl?abspart=1;displaytype=displaycode;nod +e_id=864179;part=4 my $Furrry = <<'__Furrry__'; 0 z z z z z z z z + z z z z z z z z z z z z z z z z + z - z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z +z z z z z z z z z z z z z z z z z z z + z 0 z z z z z z - z + - z z z z z z - z z z z z + - z z - - z - z z z z + - z z z z z z z z - z z z + - z z z - - z - z z z z + z z z z z z z z z z z z z z z z z + - z z z z z - z z - z z z z + z z z z z z z z 0 z z z z z z - z + - z z z z - z - - + z z z z - z - - - z + - - - z - - z z z z + - z z z - z z z - - + - z - - z - - z z + z z - z - - z z z z z + - z - z z z - - - z +z - - - z z - z z z z + z z z - z z z - 0 z z z z z z - z + - z z z z - - - + - z - z z - z - - + - z - - - z - +- z z z z - z - z - z z + - - - - - - + - z - - z - - z - + z - - z - z - - + - - - - z z - +- - z z - - - z z + - z z z z - z - - - + - z - 0 z z - z - z - z + - z z - - - - + - - z - - - - + - - - - - - + - - z - - - z z + - - - - - - +- - - - - - - + - - - - - z - + - - - z - - z + - - - - - - - + - - - - - - +z - - - - z - + - z - z z - z - - + - - - - 0 - z - z - - + - z - z - - - - + - - - - - - + - - - - - - + - - - - - - + - - z z - - - - + - - - - - - + - - - - - - +- - - - - - - + z - - - - - - + - - - - - - + - - - - z - - + - - z - - z - + - z - z - - - - + - - 0 - z - z - - + - - - z - - - + - - - - - - + - - - - - - + - - - - - - - + - - - z - - +- - - - - - - + - - - - - - + - - - - - - + - - z - - - - + - - - - - - +- - - - - - - + - - - - z - - + z - - - - z - + - - - - - 0 - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - z - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - 0 - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - z - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - 1 z z z z z z z z + z z z z z z z z z z z z - z + z z z z z z z z z z z z z z z - + z z z z z z z z z z z - z z z + - z z - z z z z z z z z z z z +z z z z z z z z z z z z z z z z z z z +z z z z z - z z z 1 z z z z - z - z + z z z - z z z z - z z z + - - z z z z z z - - + - z - - z z z - z z z + z z z z - z z z - - z + - - z z - z z z z z z z z z + - - z - z z z z - + - z - z z z z z z z z z z z z z +z - - z z 1 z z z z - z - z + z z z - - z - z + - z z - - - z - - + - z z - - - - + - - - z z - z z - + - z z - - z - z - + - - - - z z - - + - - - - z - z z + - - z - z z z - - + - z - - z - z z z z z + z z - z - - - - + - - 1 z z z z - z - z + z z z - - z - - + - z - - - - - + - - - - z - - + - - - - - z z + - z z - - - - - + - z - z - - - + - - - z - - - + - - - z - - z - + - - - - - z - + - - z - - - - +z - - z z z z - z - + - - - - - 1 z z z z - z - z + z z z - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - z - - + - - - - - z - +z - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - z - z + - - z - - - - + - - 1 z z z z - z - z + z z z - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - z - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - 1 z z z z - - - z + z z z - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - 1 z z z z - - - z + z z z - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - 1 z z z z - - - z + - z z - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - 1 z z z z - - - z + - - z - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - 1 z z - z - - - z + - - z - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - 1 z z - - - - - + z - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - 1 z z - - - - - + z - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - 1 z z - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - 1 z z - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - 1 z z - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - 1 z z - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - 1 - z - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - 1 - z - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - 1 - z - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - 2 z z z z z z z z + z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z +z z z z z z z z z z z z z z z z z z 2 z - z - z z - + - - - z - z - + - z z z - - z - - z z + z z - z - z z - z z z z + z z z z z z z z z z - z z z z z + z z z z z z z - z z z - z z +z z z z - z z z - - z z z +z z - - z z z z - - z +z z z z z 2 z - z - - - +- - - - - - z + - - z z - - - z - + - z z z z - - - z z + - z z z z z z z - z z z - + z z - z z - z z z z z - + z z z - z - - - z z z + - z z - z z z - - z z + z z z - - z z z z - - + z z z z z z 2 - - - - - - + - - - - - - z + - - z z - - - z + - - - - - - + - - - - - - z + - z - z z z - z z z - + - z - z z - z - z - + z - z z z - - - - + - z z z - - - - z + z z - - z z - z - + - - - z z z - - z + - - - z z 2 - - - - - - + - - - - - - + - - - - z - - + - z - - - - - + - - - - - - + - z - - - z - z - + z z z - - z - z z - + - - z - z - - + - - - - - - - + - - - - - - + - z z z - - z z - z + - - - - z z z - - + z - - - - z 2 - - - - - - + - - - - - - + - - - - - - + - - z - - - - + - - - - - - - + - z - - - z - + - - - - z - - z + - z - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - z - - + - - - - - - + - - - - - - + - - - - 2 - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - z + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - 2 - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - z + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - 3 z z z z z z z z + z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z +z z z z z z z z z z z z z z z z z z 3 z z z z z z z z + z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z +z z z z z z z z z z z z z z z z z z 3 z z z z z z z z + z z z z z z z z z z z z z z z z + z z z z z z z - z z z z z z z z + z z z z z z z z z z z z z z z z z z + - z z z z - z z z z z z z z +z - z z z z z z - z z z z z z +z z z z z z z z z 3 - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - z + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - 3 - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - z + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - +- - - - - - - + - - - - - - + - - - - - - + - - 4 z z z z z z z z + z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z +z z z z z z z z z z z z z z z z z z 4 z z z z z z z z + - z z - z z z z z z z z z z z + z z z z z z z z z - z z z z z z +z z z z z z z z z z z - z z z z +z - z - z z z z z z z z z z z + z z z z z z z z z z z z z z z z z z z + z z z z z - z 4 z z z z - - - z + - z z - - z z - + - - - z - z z - + - - - z - z z - - + z z z - - - z z - z z + z - z z z - - z - + - z z - z - z z z z - + - z - - - z z z - +z z z z - z z - - z - + z - z z z - - - - + z - - 4 z z z - - - - + - - - - - - + - - - - - - + - - z - - - - + - z - z z - - - - + z - - - - - +- z - - - - - +- - - z - - - z + - - - - - z z - + - - - - - - z + z - - z - z - z + - - - z - z - z - + z - - - - - +- - 4 z z z - - - - + - - - - - - + - - - - - - + - - z - - - - + - - - - z - - + - - - - - - +- - - - - - - + - - - - - z - + - - - - - - + - - - - - - + - - - - - - z + - - - - - - + - - - - - - - + - - - - - - + - - - - - 4 z - z - - - +- - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - + - - - - - - + - - - - - - + - - z - - - - + - - - - - - + - - - - - - - + - - - - - - + - __Furrry__ NotDemoMeaningfulName( \$Furrry, \my $Farts ); print $Farts, "\n\n"; print "\nBefore there were ", scalar $Furrry =~ y/\n//; print "\nNow there are ", scalar $Farts =~ y/\n//; } ## end sub Boobbly