in reply to Re^3: data formatting in excel
in thread data formatting in excel

column 1 column2 sh run|in community snmp-server community Em3dfgfsfsk RO 80 snmp-server community EdfdgN3tS0l RW 83 show run |in encryption service password-encryption
This is how it is.
pingme8705 The world belong to the people who beleive in the beauty of their drea +ms

Replies are listed 'Best First'.
Re^5: data formatting in excel
by dragonchild (Archbishop) on Oct 03, 2005 at 11:02 UTC
    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:

    1. Open file
    2. Read file into some Perl variables
    3. Close file
    4. Do something with those Perl variables
    5. 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:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?