#!perl -l $ARGV[0] = 'Buffy the Vampire Slayer'; $ARGV[1] = 'larryk'; @l = qw/l o v e s/; @f = qw/f l a m e s/; %t = ( f => 'friends', l => 'lovers', a => 'arguers', m => 'marriage material', e => 'enemies', s => 'secret lovers' ); sub g { my@F=@f;($s=join'',@_)=~s/\W//g;@_=map$s=~s/$_//gi,@l;$r=length $s;do{@_=map{split'',$_[$_]+$_[$_+1]}0..$#_-1}until 101>join'', @_;$n=0;splice@F,$n=($r+$n-1)%@F,1 while@F>1;join('',@_),@F } print +(g(@ARGV))[0],"% ",$t{(g(@ARGV))[1]}; __END__ 94% enemies