well it's almost that time of year again, and i've not posted for a very very very long time. Either way i dug this out (i wrote it many xmas' ago), but here it is:
$n="\e[0;40;32m";for(1..10){print"\ec$n\n".$"x(15)."\e[1;35mY$n".$"x15 +; for(1..8){print$/.$"x($a=16-$_);$c=int rand($d=2*$_);for(2..$d){$f=31+ int rand(3);print($_-$c?"X":"\e[$f;1m*$n")}print$"x$a}print $/.$"x(31) +. "\e[0m\n".$"."MERRY CHRISTMAS TO ONE AND ALL".$/x2;select$q,$q,$q,0.5}
have a lovely holidays, whatever you're up to. alex

Replies are listed 'Best First'.
Re: the ghost of xmas past.
by Brutha (Friar) on Dec 17, 2004 at 11:44 UTC
    Agree, very nice! ++

    I confess I destroyed it a little bit, to get the ANSI colour effects even on windows with

    use Win32::Console::ANSI;

    Update: ANSI is long since I used it last, but shouldn't the middle part of the first line read:

    ... for(1..10){print"\e[2J ...

    instead of

    ... for(1..10){print"\ec ...

    ???

    And it came to pass that in time the Great God Om spake unto Brutha, the Chosen One: "Psst!"
    (Terry Pratchett, Small Gods)

      hmm
      yes you can use \e[2J (erase screen and return home), although \ec (reset device) does basically the same thing, and is 2 (obv) chars cheaper.

      you can find more here

      al

Re: the ghost of xmas past.
by Mutant (Priest) on Dec 16, 2004 at 16:11 UTC
    Very nice! ++

      I second that, let me add Very Very nice! ++