in reply to DBI question

If you want to learn database programming, I would say that the first thing that you should do is to become familiar with the database in question - and that means installing and setting it up. MySQL is free to download and works on most platforms.

As to the existence of free services that you can connect to, they may exist, although I would find this unlikely. "Interesting" databases - ones that contain data - the odds are miniscule that anyone would let you have access to it. Would you let just anyone have remote access to your computer and your data? Most reasonable web hosting packages give you access to a MySQL database (or databases.) If you then go and install a ready-to-use Perl web application, you should then have an "interesting" database to examine. Look at the data from the command line client, do things to the application, look at the command line client again to see what has happened. (Note - not all hosting packages support Perl, nor will they all give you a command prompt to work with. You will not encounter this problem if you run things on your own machine(s).)

I would also suggest that you make the effort to get your head around MySQL before you start trying to do it through Perl. The DBI/DBD layer adds an extra level of complexity. Using the MySQL command line client, you can test your queries and get familiar with the way things work, then try to do the same thing through DBI. I write web applications with Perl and MySQL; if anything should ever behave strangely, the first thing I do is to copy the SQL that Perl is using and paste it into the MySQL command line client - it is far easier to find errors this way.

If you are really set about learning database programming with Perl, please, do your self a favour, go to dev.mysql.com and download the latest stable version for your platform. Then be sure to read the MySQL documentation and read the DBI documentation.

And above all, have fun! There's nothing so magical and wonderful as having Perl and SQL working together.