Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Fun Stuff

by vroom (Pope)
on May 25, 2000 at 20:42 UTC ( #14805=sourcecodesection: print w/replies, xml ) Need Help??
Wizard v1.0
on Sep 22, 2002 at 16:19 UTC
by legolas
This is the first code I have done in a while. I wanted to make a game that would be easy to modify so people could change the game to fit their liking. I want to change it so you can be other things besides wizards and I want to add more spells monsters and areas. I think the code seems sluggish so if someone could help please respond, thank you. Tell me what you think and have fun with it.
Perl Card Trick
on Sep 15, 2002 at 02:13 UTC
by Lysander
This is a card trick that I remembered doing when I was a kid. The idea behind it is pretty simple, but it may stump some of you for a moment. ;) Cheers.
on Sep 13, 2002 at 18:49 UTC
by Lysander
This script is a Perl rendition of the game "Hangman". You can play it it two modes: Single Player or Challenge. Challenge mode allows two people to play. The challenger enters in a word/phrase and a clue. The challengee then tries to guess it. Also, any phrases/words entered in challenge mode will be stored in a DBM file for use in Single Player mode. Enjoy.
AI Animals
on Sep 08, 2002 at 06:27 UTC
by Limbic~Region
Program follows a logic tree to guess an animal that you are thinking of. The more it plays - the better it gets, hence the AI reference. It is based off a game I saw on an Apple something or other way back in gradeschool. Of course, I never saw the source - so this is my guess of how it is done.
on Aug 31, 2002 at 20:29 UTC
by Gordy
A simple maths quiz, answer as many as possible before the time is up. It works but as I am very new to perl I expect there are many things which I could have done much better, constructive critism is very welcome.
Someone get the coffee
on Aug 21, 2002 at 03:54 UTC
by hagus
A self contained CGI script to manage your daily coffee runs. Everyone adds their name + email to the web page, and when it reaches a certain amount of entries (3 by default), the coffee order list is then mailed to everyone. It's up to you to decide who actually goes to get them though ;)

Note: in practise, name usually ends up being 'hagus - flat white', combining name and coffee type.

Blob Maker
on Aug 21, 2002 at 03:17 UTC
by legolas
This is a simple program that draws squares out of asterikses. I did it basically to learn about strings and loops. Nothing spectacular, but a fun program nonetheless.
99 bottles of beer on the Wall
on Aug 21, 2002 at 02:31 UTC
by legolas
This was my first program. I did it after about an hour or two of reading Learning Perl. I relize there are other programs that do the same thing more efficiently, but this is my first program and I have much to learn. interface w/ Win32::Clipboard support
on Aug 12, 2002 at 05:43 UTC
by thealienz1

This script requires use of the Win32::Clipboard Module.

This is the same as my code, but has a built in interface for the Win32::Clipboard module. That way if you want to copy something into the clipboard, instead of typing it out again, the script will automatically translate whatever is in the clipboard, and write it over with the translation. I have it setup so, I can just use some shortcuts to do english<->lingo. interface
on Aug 12, 2002 at 05:21 UTC
by thealienz1

I was crawling the internet one day looking for translators for SMS text messaging. You so, I could be kewl, and confuse my friends with a language even I didn't understand. And so I found It offers translation for english<->SMS lingo.

I wz crawling d internet 1 dA L%kN 4 transl8rz 4 SMS txt msgN. U so, I c%d b kewl, & Confuz my fRnds w a language even I didn't undRstNd. & so I found it offers transl8n 4 english<->SMS lingo.

Skrabbel 2
on Aug 08, 2002 at 21:47 UTC
by Anonymous Monk
This is the fruition of my labors to build a program to find all the best moves in a scrabble game! Right now all the algorithms remain in Perl so, depending on your dictionary size and the number of moves on the board, search time can vary from 30seconds to 7minutes. So once you click "Find" remember to be patient. A pop up window saying "Search complete" will appear when it is done. I plan on porting some of the more time consuming routines to Inline::C to speed things up greatly. You can get all the files for this program, including a windows executable built with perl2exe, a dictionary massaged to include only useful scrabble words, and a sample board file at:
Iterated prisoner's dilemma
on Jul 30, 2002 at 13:58 UTC
by spurperl
A small script showing the Iterated prisoner's dilemma games. Allows to easily add subroutines and thy them against other algorithms.
on Jul 29, 2002 at 14:38 UTC
by Fideist11
This is just an update to the Scrabble program listed above (now with a less copyrighted name?). I've replaced the Win32::MsgBox's with a little TK::Toplevel routine in the hopes of getting the program to run on linux as well as windows. I think it should now but i have no linux box at the moment so i'm not sure...
Scrabble Game
on Jul 25, 2002 at 21:04 UTC
by Fideist11
This program is actually a scrabble-module i wrote with a tk-script wrapped around it. It requires Tk, Tk::FileDialog, and Win32. Win32 is only used for it's MsgBox function in pop-up error messages. Minus these MsgBox's, the program should be cross-platform. You can add moves to the board, load boards from a preset file (with a homemade board-specification syntax) and then resave the board later on in the game. The board also highlights and tracks all premium squares and validates all new moves. An example of a board-file is included at the bottom of the code. The scrabble module maintains a 2-D array of board, a hash of all letter values (like F => 4), and the location and type of all premium squares. I hope to use this foundation, (along with a scrabble dictionary word list) to build the logic to discover the best possible move in every single possible scenario.
Crossword solver - 2 words
on Jul 19, 2002 at 12:41 UTC
by fireartist
Warning:- some may find this offensive ;)

If you have 2 incomplete, interesecting words in a crossword, this will list all possible combinations.
For example, with the 2 words below (marked by '?')
_ _ _ _ _ _ _ _ |_|_|_|_|_|_|_|_| |_|_|_|_|O|F|T|_| |_|C|_|_|_|?|_|_| |_|A|?|T|?|?|?|_| |_|T|_|O|_|?|_|_| |_|_|_|K|_|I|N|_| |_|_|F|E|E|D|_|_| |_|_|_|_|_|_|_|_|
The program will ask you these questions, to which you should give the marked answers.
How any letters does word 1 have? answer:6 What position does it meet word 2 at? answer:5 What is the 1st letter? Hit <RETURN> if you don't know. answer:a What is the 2nd letter? answer: What is the 3rd letter? answer:t What is the 4th letter? answer: What is the 6th letter? answer: How any letters does word 2 have? answer:6 What position does it meet word 1 at? answer:3 What is the 1st letter? Hit <RETURN> if you don't know. answer:f What is the 2nd letter? answer: What is the 3rd letter? answer: What is the 4th letter? answer: What is the 5th letter? answer:i What is the 6th letter? answer:d
You would then be returned the following list.
action florid actors forbid Altair frigid altars forbid alters forbid artery forbid Arturo forbid asters forbid attain frigid attire forbid author florid

update: added the following line
What is the 3rd letter? answer:
where it was missing above.
on Jul 12, 2002 at 17:14 UTC
by dcpve
Finds suitable Scrabble words based on your current tiles, the tiles on the board that are available for word building, and how many of your current tiles you are willing to omit to form a word.
Harvest New Sci-Fi Movie Titles
on Jul 11, 2002 at 06:02 UTC
by hossman
I run a daily email list that provides headlines of Sci-Fi related news. One of the things I include when available is info on new Sci-Fi movies as they show up in the IMDB data feeds. This is the script I cron to get the new movie data. It can be generalized to get info about new movies in any IMDB category.

Since the IMDB data is updated semi-haphazardly, I cron the script extremely frequently, thus I made it 'smart' enough to knot do anything unless it needs to.

My crontab looks something like this...

# This is important for the new-movies script. FTP_PASSIVE=YES # New movies .. several times a night, run the program. # If it's output file allready exists, it won't do anything # # (defaults to 'last friday') 0 0-2,22,23 * * * cd $HOME/new-movies-work; $HOME/bin/new-movies --lazy # New movies ... # Again, not intensive cause it does nothing if the output file has # allready been created by the OTHER call (above) # # "a week ago last friday" 33 0-2,22,23 * * * cd $HOME/new-movies-work; $HOME/bin/new-movies --lazy --datemod "- 1week"
Simple Lottery
on May 21, 2002 at 22:00 UTC
by xgunnerx
Simple lottery program. Will stop running and tell you the outcome when all six numbers are met.
Shut the Box : 12 Number Edition
on Apr 13, 2002 at 01:32 UTC
by munchie
The classic pub game (what do I know about pubs, I'm 13!) Shut the Box, in a twelve number version (the original was 9 numbered). You roll 2 dice, and then you have a choice of putting individual numbers down, or combined numbers (Play the game to get used to it, I can't explain it very well). My dad gave me the suggestion, so that night, I cranked the original script out in less than an hour. There were 2 major bugs that annoyed me to death, so I left it sit for a couple weeks. Today, I came back to it and crushed those bugs flat (pardon my enthusiasm)! Enjoy!

UPDATE 1: Fixed code to change the redo FOO; to process_combos(); I also made it warnings compliant, which I was probably too ignorant to do in the beginning.

Random Background from Net
on Mar 19, 2002 at 03:45 UTC
by hossman
Uses Google's image search to find random background images based on random words, or you can give it some specific words and it will use those.

Edited: Added google disclaimer, and fixed blatent bug with maturity filter.

Graphical Survey Manager
on Feb 24, 2002 at 22:25 UTC
by jerrygarciuh
This script generates polls from a flatfile its admin creates, accepts polling info and uses GD::Graph3d to create .pngs of the results. It has an easy admin backend for adding and deleting new polls. Needed improvements include:
  • Password protection for admin mode which is currently diabled by the limit on requests to POST. There are a lot of ways this can be redressed and I haven't decided which I want yet.
  • A way (probably cookies) to keep folks from repeated voting
  • Improved data structure to make it easy for the delete_survey sub to clean up the .png and .poll files, this won't be hard, I just haven't done it yet.
  • And lastly a way to get GD to print text at a 45 angle. Currently it changes to vertical if the labels get too wide, but this is hard to read. GD::Text::Align has been recommended for this purpose, but not implemented yet.

  • Hope ya dig it!

    See 2.25.02 post in thread for updates. Code below reflects changes posted there. 2.26.02 update: sub referer check updated and it's called moved to the top of the script to prevent saved copies of the forms being manipulated and posted to the script.

on Jan 27, 2002 at 17:52 UTC
by Juerd
This module creates magic squares. A magic square is a square in which all numbers are differet and the sums of all rows, all columns and the two diagonals are equal.

(To be uploaded to CPAN soon)
Doom-Style Status Bar
on Jan 16, 2002 at 23:41 UTC
by Symuc
Reminiscent of the status bar that showed the progress of the startup of the classic game "Doom", this code will print a status bar of variable width with an optional header and/or footer.
Reinventing Dice...
on Dec 08, 2001 at 03:40 UTC
by osfameron
OK I discovered Dice::Dice and RPG::Dice here on Perlmonks but this wheel was such fun to reinvent... this code is more like RPG::Dice, but written in a different way, so I thought it might be worth posting.

update: I quited liked the way I was handling tt clauses, but it was unnecessary. Combined parsing of template into one regex substitution and put the logic into the _roll sub.

Perl/Tk Space Invaders Game/Sprite Class
on Nov 13, 2001 at 00:47 UTC
by clintp
Small Space Invaders game, intended as a demo of a Sprite class for a lecture I give. Feel free to critique, comment, and re-use.
on Sep 25, 2001 at 06:03 UTC
by ChemBoy
A module to provide a simple object-oriented interface to basic information about Major League Baseball teams, with a little overloading sugar for fun. See included POD for detailed information.
Update: added a missing method and the documentation for it, and addressed the symptoms (if not the cause) of one problem pointed out below. 10/02/2001
Monk Ladder
on Sep 15, 2001 at 07:27 UTC
by jryan

There are a lot of monks that play Starcraft (including me), but often times we have difficulty finding people to play with. So, to organize us, I decided to write up a quick ladder. For those of you who don't know what a ladder is (or don't know what a real ladder is, unlike that pathetic bnet one), it is basically a league where one can only advance by playing higher ranked players.

In the gaming community, everyone wants a ladder. However, once a ladder is up, the ladder admin(the guy who wrote it) becomes preoccupied with other things. Without someone to maintain the ladder, it soon dies. Therefore, I wrote a ladder would be easy to setup and maintain by the non-programmer. It is EXTREMELY easy to install; it uses 2 flat text databases (for easy cross-platform support), and was designed to be inserted into pre-existing designs via ssi so the ladder maintainer doesnt have to drudge through a buncha code. All the maintainer has to do is upload the scripts and set permissions, and its ready to go.

I would really like to host this somewhere, if anyone knows somewhere I could do it, it would be really great. It wouldn't eat up much bandwidth or disk space, and I think that it would be one more thing that would enrich our community even more :)

Thanks to jcwren's coolness, is now hosting MonkLadder. Sign up!

on Sep 14, 2001 at 18:53 UTC
by $code or die
A Perl Tk Game.

Clear the grid with the highest score. You can clear blocks when there are two or more identical blocks next to eachother. The score goes up considerably when you get rid of more than a handful of blocks (you'll see what I mean).

See AGamesZone for the inspiration. (Ok, yes, I ripped it off!)

Code is a little rough in places, but it works.
Tested on:
Perl 5.6.1: ActivePerl 629 on Win2000 and Windows Me,
Perl 5.5: on Debian (potato)
Perfect Division
on Sep 09, 2001 at 12:34 UTC
by acid06
I was reading some fun stuff here and couldn't resist when I read this part of the message:
"11. Let's say the program you're writing may possibly try to divide by zero. If this exception occurs, how should your program cope?
b) Redefine the laws of mathematics so that any number divided by zero is equal to 42. Problem solved."

So... here it is. All you have to do is save it and use PerfectDivision;

Note: it doesn't work unless you provide the values on compile time, so you can't do stuff like print $ARGV[0]/0; without getting the Illegal division by zero error.
update: corrected a bug which prevented it from working properly
3D Hidden Text
on Aug 24, 2001 at 05:26 UTC
by bladx
This is really one of my first perl programs (using the module, which by the way, is really cool!) and is also written for use with a CGI as well. What it does, it basically re-creates what those magic eye book pictures kind of look like, except that it is more like the old days when 3d glasses were new. It's easy to change the variables to change what colors (or even add new colors,) to what is there, and although it is very simple, hopefully it's fun for someone ... (other than me. :-)) BTW, there is a working version of this at: here ... if you want to see it.
on Aug 13, 2001 at 20:04 UTC
by idnopheq
horoscope -- see what the stars have in store for YOU!

I'm not terribly happy right now on how I did this (subs, redundent randomness, additional redunacies, etc.), yet it does work. Comments and recommendations are appreciated.

UPDATE 0: this is my first stab at converting lisp ( which I'm not terribly good at ) to perl. But this thing is so much fun, I could not help myself.

UPDATE 1: Thanks to Albannach and his advice on CB, I rewrote this whole thing as a Hash of Arrays, shortening the script considerably. NodeReaper has yet to make an apperance in this. Please, as before, comments are solicited.

on Jul 06, 2001 at 00:44 UTC
by Masem
Allows one to simulate 1D automata with multiple colors using perl. The POD should sufficiently explain the use of the module.

Comments, critiques, and other inputs are gladly accepted!

on Jul 04, 2001 at 05:08 UTC
by dooberwah
Plibbles is ment to be much like the clasic worm(6) game, but written in Perl. You control a worm that moves about the screent trying to eat numbers. Whenever you eat a number you grow as many segments longer as the number you ate. The object of the game is to get the hishest score by eating the most numbers without running into something.


  • Make worm move forward every 0.25 seconds or so.
  • Document the code
  • Clean up the code

    I'm sure that this isn't the only way to do this, (hey, TMTOWTDI after all) and I'm sure the way I thought up isn't the most efficient way, but it's what I could come up with. Any comments/improvments/questions would be very welcome.

  • RPG::Dice
    on Jun 14, 2001 at 22:04 UTC
    by Syrkres
    RPG (Role Playing Game) Dice expression Roller
    See mod doc for expression syntax.
    on Jun 07, 2001 at 02:16 UTC
    by dshahin
    generates two random rpg characters and fights them to death.
    on Jun 06, 2001 at 13:54 UTC
    by davorg

    The idea of writing a module that could be called T::H::C was too good to ignore.

    Don't trust anything this hash tells you :)

    on May 29, 2001 at 05:19 UTC
    by Masem
    Simulates Conway's Game of Life in Perl

    Comments are highly appreciated!
    on May 02, 2001 at 05:35 UTC
    by JSchmitz
    Rips out all the junk and leaves just working code just type "scriptname" tells ya when its done. = )
    on Mar 24, 2001 at 19:34 UTC
    by dmckee
    Creates a PNG image with runes: hopefully going to make it a lot easier to use. Essentially, change the $text line, and it'll create runeout.png, a picture with the runed font. Requires PNG file from (blame geocities for not supporting PNG, M3U...)
    on Feb 24, 2001 at 18:20 UTC
    by dmckee
    Converts an image in pretty much any format (see Image::Magick to ASCII characters to give the illusion of a picture. Works best with small fonts.
    wsradio: MP3 stream downsampling proxy
    on Jan 31, 2001 at 11:32 UTC
    by strredwolf
    An offshoot of my WSproxy program, this one takes requests for a MP3 stream and downsamples it to 24kbps range. Nice for those streams which only come at 56kbps or higher.

    You will need netpipes and LAME for this one. To use once both are compiled in, use "faucet port -io"

    Find Words a la Boggle
    on Feb 10, 2001 at 00:56 UTC
    by chipmunk
    This script finds words in a block of letters, in the manner of the game Boggle from Parker Brothers. A word may be spelled out by joining letters up, down, sideways, and diagonally, in a continuous path. The same instance of a letter may not be used more than once in the same word.

    For example, the word 'chipmunk' can be found in the following letter block:


    Enjoy! Comments and suggestions welcome.

    A simple game AI that learns
    on Jan 14, 2001 at 01:31 UTC
    by Falkkin
    A set of modules that implement a very simple gaming AI. The AI players know nothing about the actual game that is being played; they merely take in a list of valid moves and provide functions to call at the end of a given game. The AI remembers what moves it's made and the results, and learns how to play the game better, even though it doesn't know any of the rules.

    I've tested this code using tic-tac-toe; after about 35,000 runs of the Defensive player vs. the Random player, the Defensive player no longer loses. I ran ~2,000,000 games and it's not lost once. Since this is basically a brute-force AI method, it'll probably be incredibly inefficient for complex games (although I've not tested it with any other games yet.)

    The code is optimized for speed, not readability... it doesn't pass -w because of hash accesses to undefined values in I'm pondering submitting this to CPAN, after cleaning up some stuff and writing the documentation as pod, so any advice or comments would be much appreciated.

    I still have much to try with these modules, such as:
    - Different games (suggestions, anyone?)
    - Will it learn faster if it plays against a better player?
    - I'd also like to write a CGI script that allows the AI to play human opponents online.

    on Jan 11, 2001 at 11:10 UTC
    by strredwolf
    Anything, a mini-clone of Everything(which runs PerlMonks). This is what I get for trying to organize things with WolfSkunks. It is a CGI script, though, and works well with mhttpd. It will auto-setup itself. Just edit $root.

    Update 1-11: Updated to secure it a bit and use CGI::Lite (which I think is a lot less complicated than all of CGI). The square brackets now work.

    Update 1-29: Updated it again so that updates and node editing actually works.

    Solve Word Ladders
    on Jan 10, 2001 at 20:43 UTC
    by chipmunk
    This script solves word ladders. A word ladder is a progression from one word to another, changing exactly one letter per step. Each intermediate step must also be a word. For example; dog cog cot cat.

    An example of use:
    % ladder perl monk 10 perl merl merk mirk mink monk
    "merk"?? Let's find a better solution...
    % ladder perl monk 10 merk perl perk peck pock mock monk
    That works!

    See the POD for more info.

    (Updated to version 1.5; minor POD corrections only.)

    Array Shuffler
    on Jan 09, 2001 at 16:09 UTC
    by zencrypt
    I think too much emphasis is placed on sorting lists. Bubblesort this, and quicksort that, and selection sort something else. But what about random shuffling? I never see any attention given to the opposite of sorting; shuffling! I wrote out some basic code that i think does the trick, but if anyone has any tips on how it can be improved, please let me know. thanks
    99 bottles, 2 lines
    on Nov 28, 2000 at 08:33 UTC
    by chipmunk
    Some time ago, there was a thread on clpmisc on writing 99 Bottles of Beer on the Wall in Perl. After exploring elegant solutions, posters turned to shorter solutions. At the time, the shortest solution took up three lines. With some spare time and nothing better to do, I recently succeeded in squeezing this program to two lines of Perl (fewer than 80 characters per line). Enjoy!
    on Nov 17, 2000 at 00:24 UTC
    by japhy
    This is a hangman game. It's not too frilly, but it's a nice efficient layout. Version 2 will be out soon, with a better data structure for the word list...
    Perl Hangman
    on Nov 16, 2000 at 19:04 UTC
    by Nimster
    A newbie's hangman in perl. Not the most effective, but works. Features are score, completion of the word from user input, and a slowly dying hangman. CGI version soon.
    on Nov 16, 2000 at 18:49 UTC
    by BastardOperator
    fortune program, nuff said.
    I just had to post this, not because of the code (~5 lines), but because of the quotes. They crack me up. :)
    VI in Perl
    on Nov 15, 2000 at 12:07 UTC
    by dmitri
    I am writing VI in Perl (vip), and I wanted to gather some comments. I post my code to the web site every 4-5 revisions. vip is almost usable now. Thanks for your input, people.
    Morse Code Converter
    on Oct 30, 2000 at 20:16 UTC
    by Octavian
    I was bored sitting around the office, and I felt like annoying a co-worker so I decided to write something up real quick that will email him messages in morse code. This code basically just converts whatever you give it as arguments into more code and emails it to the first argument. so you could do a ./convert this is a test of morse code. and it would send someperson the sentence in morse code
    Ghost (wordgame)
    on Oct 28, 2000 at 08:37 UTC
    by m_turner
    A variant simple word game described on Everything2

    The essence of the game is that players take turns adding letters to the begining or end of a group of letters. Winning is accomplished by either causing the other person to form part of a not-word, or create a complete word. It is a simple matter of programing to alter the heuristics to play the game as specified.

    I do admit that the heurstics could probably be improved several times.

    Web Based Chess Server
    on Sep 15, 2000 at 23:38 UTC
    by wombat
    A friend of mine recently learned that I suck at chess. (Only three people on the planet play worse than me) So she took it upon herself to try and teach me. Cordially, she offered to bring a chess set to a local coffeehouse where we could play amid the distraught oil paintings and the low jazz music playing in the background, but I had already gone and built this instead.

    What this will do, is allow two people to play a single game of chess, but it could be easily adapted to support multiple boards, (i.e a hidden field in the form code). It's not too hard to set up, and all one needs to do is provide images for the squares and the pieces. These are infinitely customizable. I crafted the pieces from pics of members of the Scifi club I'm involved in, (and it was immensly popular). To see how I set it up on my home machine, go here. I do however ask that you be kind and not move any of the pieces around. This is our game we're playing. Besides, I'll be able to tell if you do.

    There is limited error checking. Currently this version will check to see that it really is your turn to move, and that you're trying to actually move a piece (not empty space) and that you're not moving it off the board. However, it does not check for move legality. Thus, a person can in fact move the queen all the way across the board, jump the two rows of pawns, step once to the right, and take the opposing king on the very first move. I chose not to include error checking, because there are lots of different variations of chess thatdo not follow the rules. Most notably, "Fairy Chess" where the board wraps on the sides, (or is played on a 2D torus depending how you think about it.) So moves checking was left out to allow variations like that in.

    Again, I'm notoriously bad at chess. And the notation in the logs shows this. People have explained it all to me before, but it never took. I know about castleing, but you'll have to ask whoever the owner of the machine is to change the board when you want to do it. I've heard of "En Passant" passing by pawns, same thing, 'cept I have no clue about the rules surrounding that. In any case I hope you like it!

    The Name Game
    on Jul 19, 2000 at 22:36 UTC
    by Kozz
    Just a small bit of code to "do the name game" on any name given. I tried to clean up my code quite a bit to appease the monks before posting it, but I'm sure someone's got some ideas on how to improve it. :-)
    OL Crossword puzzle server/client
    on Aug 27, 2000 at 07:05 UTC
    by wombat
    This is an improvement over Adam's crossword puzzle generator. Each cell now conatins a 1 character text field, allowing you to actually fill it in and submit your answers to a site. The processing script is straightforward and one can program any number of events to happen when someone solves a puzzle (or submits an incorrect answer) :-). The one in the example is the same puzzle that was written by KM here. Since he said that he would post the answers in a few days, I shall refrain from including the solution in the code.

    Basically, in order to find the correct solution string to plug into the solution checker, you need to run each block's character together into one long string. It's ugly from a human standpoint, but it's easy to process. I hope to create a dynamic generator in the near future which would, from a list of words and corresponding clues automatically generate the grid, and thereby easily generate the solution string. Enjoy! ~W
    Crossword Table Maker
    on Aug 24, 2000 at 23:58 UTC
    by Adam
    I wrote this script to generate an html table of a crossword puzzle for KM. I figure that someone else might need to make a crossword puzzle into a table, so here it is.
    Cryptogram Generator
    on Feb 03, 2000 at 07:48 UTC
    by Elihu
    This takes a quote in the form of a small text file or a fortune with the '-f' flag and performs a (random) mono-alphabetic substitution cipher on it to create a cryptogram - just like the newspapers!
    Kris Kringle Script
    on Apr 28, 2000 at 02:44 UTC
    by Marburg

    Here is a little script that takes as input (STDIN) a :: field-delimited file of Names and associated Emails and emails everyone the name of the person they have to buy a present for. It is written in block format, just to make the perl students in my computer science department work a bit harder at figuring out how it works. There are no oddities, just plain Perl, and it should illustrate the way Perl can be used to solve problems.

    The basic idea is that the script shouls choose someone from the list for each person in the list but not themselves of course (who wants to buy a pressie for themselves?). Each person should be emailed their chosen present recipient and no details of the selection should be maintained ... the program includes a copy of itself for educational purposes!

    Anyway, could I have comments on improving the algorithm? Could I use a single Hash (appart from using a Hash of Lists)? Would it be better to shuffle a list and then select items one by one? Is there a better way than using grep to return the list of recipients? I have lots ot time to improve it before next Christmas.

    Enjoy it, please! Marburg. strip grabber
    on Mar 15, 2000 at 01:08 UTC
    by billyjoeray
    This script can be run on regular intervals to download the latest strips from I'm putting this here because its a little big for the front page, but for whoever reads this, I'd like some tips on how to clean up my code and some wisdom on how to easily write code with 'use scrict;' I always seem to be needing to use variables in a global sense. Full Size version forwarder :)
    on Mar 30, 2000 at 11:46 UTC
    by ash
    You hate having to load the small version of userfriendly for then to click on the link to the fullsize one? Well. This script forwards you directly to todays full size userfriendly strip :) But since userriendly doesn't update before 9 a.m in norway, i've inserted this little line: ($a[2]<9)&&$a[3]--; so that you'll be forwarded to yesterdays strip if it's not up yet. Change the 9 to your timezone :)
    Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others examining the Monastery: (3)
    As of 2018-06-18 00:54 GMT
    Find Nodes?
      Voting Booth?
      Should cpanminus be part of the standard Perl release?

      Results (107 votes). Check out past polls.