Sorry - more song lyrics, but I heard this on the radio this morning (yes yes - I'm in the 'Oldies FM' demographic{g}), and just had to have a go at "re-factoring" it. :)
#!/usr/bin/perl package Talker; sub new {return bless {'me'=>$_[1]}, $_[0];} sub say {my $s=shift();print $s->{me}," say ",@_,"\n";} 1; package main; use strict; my $You = new Talker("You"); my $I = new Talker("I"); my %o = ("yes"=>"no","stop"=>"go go go","high"=>"low","why"=>"I don't +know"); Opposite("yes"); Opposite("stop"); WeSay(); Opposite("high"); Opposite("why"); WeSay(); Why(6); do {$You->say("goodbye " x 2,"bye " x 2)}; WeSay(); Opposite("yes"); $I->say("yes, but I may mean no"); Opposite("stop"); my $t = time; while($t == time) {;} # I can stay till it's time to go. +.. ;) WeSay(); print Hello(8),"\n",Hello(4,"international"); sub Opposite {my $p = shift();$You->say($p);$I->say($o{$p});} sub WeSay() {print "Oh No. ";for(0..1){GH(3);Why()};GH(1);} sub GH {$You->say("goodbye") and $I->say(Hello($_[0]));} sub Hello {(($_[1])?"Hela, heba, helloa.\n":"hello ")x$_[0];} sub Why {print ((@_)?"Why " x $_[0]:"I don't know why ");}
Cheers, Ben

Replies are listed 'Best First'.
Re: Hello Goodbye
by fredopalus (Friar) on Jun 12, 2003 at 03:23 UTC
    Oldies?
    Last I heard they were called The Beatles. ;-)
    %genre = (Beatles => $rock{"classic"});

    Nice Job, ++.
Re: Hello Goodbye
by Anonymous Monk on Jun 19, 2003 at 17:30 UTC
    well, i must say, you have successfully combined two of my favourite things: coding and the Beatles.
    well done, my boy.

    -ibuki-
A reply falls below the community's threshold of quality. You may see it by logging in.