[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [FWP] a thought had while driving home from YAPC



On Tue, Jun 29, 1999 at 10:44:08PM +0100, Adam Sampson wrote:
> At some point I'll reimplement NIALL in Perl or Python; I suspect it could
> be done as a Perl one-liner. Any takers?

OK, I got bored enough to do it. This is my third Perl program, so apologies
if it's insufficiently fun. It's also three lines rather than one (but I'll
accept improvements):

while(<>){chomp;@i=split;$w{'>'}.=" ".$i[0];while($#i>=0){if($#i){$x=$i[1];}
else{$x='=';}$w{$i[0]}.=" ".$x;shift@i;}$n='>';while($n ne'='){print$n." ";
@l=split(' ',$w{$n});$n=$l[int(rand(1+$#l))];}print"\n";}

Enter sentences without punctuation (e.g. "the cat sat on the mat"),
followed by return. It will print back sentences it makes up preceded by
">". To see another sentence without bothering to type more input, just hit
return. Play with it for a while, see how stupid it is, and improve it.

I expect to see a one-line version of this posted to the list within a week.
I'm starting to like this language. :)

-- 

Adam Sampson
azz@gnu.org

==== Want to unsubscribe from Fun With Perl?
==== Well, if you insist... Send mail with body "unsubscribe" to
==== fwp-request@technofile.org