#!/usr/local/bin/perl -w ### set density -- counts number of attacks within each n note set my $set_size = 12; my $previous_set = ""; foreach () { for (my $walk = 0; $walk < (length($_) - $set_size); $walk += $set_size) { my $examined_set = substr($_, $walk, $set_size); ## uncomment next line to only show density where the set changes # next if $examined_set eq $previous_set; $previous_set = $examined_set; my $stars = $examined_set =~ tr/[1-9]/[1-9]/; my $star_print = "*" x $stars; printf("%3d | %s\n", int($walk/$set_size), $star_print); } }