in reply to writing an address book program

If you think that you might want to use hierarchical data, or if you want to add lots of features to the program in the future, I would second the recommendation for XML. If you to start with something even more simple, I recommend Data::Table, which has a really simple interface, works with CSV files and databases, supports sorting, math operations on a column, HTML rendering, etc.

Here's a snippet to get you going:

use strict; use Data::Table; my $t= Data::Table::fromCSV("phonebook.csv"); $t->sort('lastname', 1, 0); # Sort by col 'lastname', alphabetic, as +cending print $t->html; # Print out phone book as an HTML table.

Where the file 'phonebook.csv' contains:
lastname,firstname,phone,TZ,date_entered Wall,Larry,555-1212,PST,4/3/2001 Schwartz,Randal,555-1212,PST,4/1/2001

It emits HTML for this table:

lastnamefirstnamephoneTZdate_entered
SchwartzRandal555-1212PST4/1/2001
WallLarry555-1212PST4/3/2001

I think you have chosen a very nice project for learning perl.

It should work perfectly the first time! - toma