That's not a data structure - that's a file layout. A data structure would be an "array" or a "hash of hashes" or an "array of Foo::Bar objects".
Let me explain another way - your program is probably going to look something like:
- Open file
- Read file into some Perl variables
- Close file
- Do something with those Perl variables
- End
Those "Perl variables" are your data structure. Depending on what you want to do with the data in the file, your data structure is going to be different. For instance
- If you want to clean up column2, your data structure is probably going to be an array and you're going to notice column1 only enough to make sure each column2 is correct. You won't actually store column1.
- If you want to load this into a database, your data structure is probably going to be a scalar and an array. You won't actually do anything with the data, so you don't need any special data structure.
- If you want to use this data to drive your application (for instance, it's configuration data determining what commands are possible), your datastructure is probably going to be a "hash of hashes" or a "hash of arrays", depending on how you want to use column2. Column1 would be the key into the outer hash. (This would assume that column1 is unique.)
And, that's just the three examples I could come up with 30 minutes after waking up. Depending on the use, the data structure is completely different while the file layout remains unchanged.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.