Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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 <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
Replies are listed 'Best First'.
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?

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
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (14)
As of 2015-11-26 14:00 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (701 votes), past polls