|Just another Perl shrine|
Re: Not meaning to add values to a hashby flexvault (Vicar)
|on Dec 22, 2012 at 14:18 UTC||Need Help??|
Note: These are suggestions, or just some things to think about!
In your assignment code below (abbreviated), you need some testing for input accuracy.
Since the question about your script wouldn't be needed if the input data was 100%, try doing some reasonable verification before building the hash.
If you are building the input data, why not build it as a hash record, i.e.
You can 'split' on the separator("$sep") to get the record into fields, and a simple 'foreach' loop to build the hash by 'split'ing on tab("\t"). Then you know the hash is correct. You can write this record to a file or send it to a database. Perl doesn't care how big it is, and you won't either. If fields are added, your original data will still be correct.
If you don't have control over the input, then what will happen if one field is added in the middle of the record? Checking on the exact number of fields will at least let you know that something is wrong, and you can fix it.
Once you verify the input, your script will do what you want.
"Well done is better than well said." - Benjamin Franklin