Hi wrboyce.
Storing your DVD information in an XML file would be perfectly fine but if you were / are considering another avenue of exploration, I would suggest a hash of hashes ( HoH ).
#!/usr/bin/perl -w
use strict;
%DVDs = (
'Reservoir Dogs: Special Edition' => {
'EAN' => '060049145457',
'director'=> 'Quentin Tarantino',
'year' => '1992',
'region' => 2,
'encoding' => 'PAL',
'aspect ' => '16:9',
'anamorphic' => 0,
'widescreen' => 1,
'audio' => 'Dolby Digital 5.1',
'length' => 94,
'cert' => 18,
'rating' => 5,
},
'C programmers: A documentary' => {
'EAN' => '060049189573',
'director'=> 'Ken Thompson',
'year' => '1996',
'region' => 2,
'encoding' => 'PAL',
'aspect ' => '18:2',
'anamorphic' => 1,
'widescreen' => 1,
'audio' => 'Dolby Digital 5.1',
'length' => 122,
'cert' => 16,
'rating' => 4,
},
'The History of Pascal' => {
'EAN' => '060054789573',
'director'=> 'Niklaus Wirth',
'year' => '1996',
'region' => 2,
'encoding' => 'PAL',
'aspect ' => '16:2',
'anamorphic' => 1,
'widescreen' => 1,
'audio' => 'Dolby Digital 5.1',
'length' => 175,
'cert' => 16,
'rating' => 4,
},
);
Since perl permits 'autovivication', creating new key / value pairs is exceptionally easy. Should my idea of using a HoH not appeal to you, I don't see where using your current solution could be deemed a hindrance. If your project required storing a large quantity of data, you might consider using an RDBMS (Relational Database Management System) such as PostgreSQL or MySQL (either of which has distinct advantages and disadvantages). I don't have any experience using postgresql (yet) but I can recommend a good book for learning MySQL:
- Title: MySQL: The Complete Reference
- Author: Vikram Vaswani
- Publisher: Osborne/McGraw Hill
- ISBN: 0-07-222477-0
- Retail Price: $39.99
as well as a useful site for related tutorials:
Hope this helps,
~Katie
| [reply] [d/l] |
I'm unsure what exactly a "DVD Profiler" is or does, but for storing your data, this sounds like the classic use for a Relational Database system, such Mysql, PostgreSQL or even SQLite. Using such a system you can easily create tables using columns for all of the different information. The advantages to this situation are numerous:
- Relational Databases are very fast. Lots of time has been spent making them fast. This is a good thing
- You can access the information easily by *any* of the categories you create. That is, you could easily and simply access all of the films by Quentin Tarantio, or names *like* tarantino and so forth
- Databases are very commonly used for these types of tasks, so there is a large body of knowledge on how to best use them, as well as a large body of knowledge on how to use the database from perl
- Many other reasons that will become apparent as soon as you start actually using it, but I can't list right now =]
| [reply] |
I'd recommend storing the information in a database. This will allow you to store a large number of DVD profiles and still be able to access the data in a short amount of time. You would also be able to dump the data into any format you want with minimal work (XML, CSV, HTML, etc...).
| [reply] |