Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Perl Sings 99 Bottles of Beer On the Wall

by LostS (Friar)
on Feb 19, 2003 at 22:29 UTC ( #236856=CUFP: print w/ replies, xml ) Need Help??

Don't ask where this came from but was sorta bored... The command is perl bottles.pl <number of bottles>

Now the code:
#!/usr/bin/perl -w # "99 Bottles of Beer On The Wall" # Speaking version use strict; use Win32::OLE; my $voice; $voice = Win32::OLE->new("Speech.VoiceText") or die("TTS failed"); $voice->Register("", "$0"); $voice->{Enabled} = 1; $voice->{Speed}=150; my $b=shift; $b = $b + 1; main(); exit(); sub nl { print $/; } sub main{ my $a='onn the wall'; my $c="bottles of beer"; while (($b--)>1) { if ($b == 1) { $c="bottle of beer"; } talk("$b $c $a, $b $c"); talk("Take one down, pass it around."); my $tb = $b - 1; if ($tb == 1) { $c="bottle of beer"; } if ($tb == 0) { $c="bottles of beer"; } talk("$tb $c $a!"); nl(); } } sub talk{ my $line = shift; print $line,$/; $voice->Speak($line, 1); while ($voice->IsSpeaking()) { sleep 1; } }
This is code I got from Mr. Muskrat and from the 99 Bottles Of Beer (can't we do better). Gees I was bored....


-----------------------
Billy S.
Slinar Hardtail - Hand of Dane
Datal Ephialtes - Guildless
RallosZek.Net Admin/WebMaster

perl -le '$cat = "cat"; if ($cat =~ /\143\x61\x74/) { print "Its a cat +!\n"; } else { print "Thats a dog\n"; }'

Comment on Perl Sings 99 Bottles of Beer On the Wall
Select or Download Code
Re: Perl Sings 99 Bottles of Beer On the Wall
by zentara (Archbishop) on Feb 20, 2003 at 13:21 UTC
    Although not perl generated; if you want to hear a "realistic" computer generated vocal, check out this mp3 from the Flinger project. Frere Jacques

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://236856]
Approved by Mr. Muskrat
Front-paged by ybiC
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (12)
As of 2014-07-24 13:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (160 votes), past polls