If we already have data in our system, and the user chooses to load
a file, should the loaded data be added to the existing data, or
clobber the existing data?
Clobber the existing data. The loaded contents should overwrite your
existing system.
What date do we use to determine if the potential voter is 18 years
old?
The current date. The date the program is run. To find this date, see
perldoc -f localtime.
What does "broken down by number of previous votes" mean?
Number of times each voter voted. For example, your list might contain:
Of voters who voted 10 previous times - Smith: 5, Jones: 2, Undecided: 1
Of voters who voted 8 previous times - Smith: 8, Jones: 10
Of voters who voted 0 previous times: - Smith: 2, Jones: 1, Undecided: 10
Do we sort voters by age or by year of birth?
By age. Age means complete age. Years, months, days. Only if
two voters were born on the same day should you fall back to
their name.
When sorting by voter intent or party affiliation, how do undecided or
declined fit into the sort?
All undecideds should be grouped together, as should all declineds. Since I didn't
specify in the HW description, they may each come at the beginning or the end
of the sorted list.