#!/usr/bin/perl -l $_ = shift; print"$_ is",(grep$_>1,map++$c{$_},split//)?"n't":'',' an isogram'; #### $ perl isogram.pl greet greet isn't an isogram $ perl isogram.pl isogram isogram is an isogram $ perl isogram.pl discrete discrete isn't an isogram #### sub is_iso { (grep$_>1,map++$c{$_},split//,shift)?1:0 } $_ = shift; print "$_ is", ( is_iso($_)? "n't" : '' ), ' an isogram'; #### s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; = qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)