#! /usr/local/bin/perl -w #Align.pl use strict; my %Lookup = (a => 0, b => 0, c => 0, d => 0, e => 0, f => 0, g => 1, h => 1, i => 2, j => 2, k => 3, l => 3, m => 3, n => 3, o => 4, p => 4, q => 5, r => 5, s => 6, t => 6, u => 6, v => 6, w => 8, x => 8, y => 8, z => 8); while (<>) { chomp; my @letters = split(//); my $final_string = '.' x 10; my $count = 0; foreach my $letter (@letters) { if (exists $Lookup{$letter}) { substr ($final_string, $Lookup{$letter}, 1, $letter); $count++; if ($count = 1) { $Lookup{"a"} = 6; #Allow for a later occurrence } if ($count = 2) { $Lookup{"g"} = 7; $Lookup{"h"} = 7; } } } print "$final_string\n"; $Lookup{"a"} = 0; #Reset for next word $Lookup{"g"} = 1; $Lookup{"h"} = 1; }