The program is to take five commas separated text files and combine them into two tab separated text files following a specific set of rules. Coder is to write a fully commented Perl program that accomplishes the following tasks (more detailed directions included upon successful bid):
1) Open 5 text files that will be found in the folder named "Input" located in the same folder as the executable. These five files will be commas separated text files with the first line being the header. The user will account for extra quotes and commas within fields.
2) Import one of the files and append to a template table using a field map I provide that states what field in the original goes with what field in the new.
3) Append another file to the same template but only those items that have not been already included based on a specific key. Again, a map listing which field goes where will be provided.
4) Update certain fields in the append file if they are blank by pulling in information from a third and a fourth file.
5) For any numbers, delete the decimal place and trailing zeros if any. Save this data as a tab-delimited file complete with header row and save into folder titled "Output".
6) Clear the template and pull in data from the fifth file. Again update any missing information with files 3 and 4.
7) For any numbers, delete the decimal place and trailing zeros if any. Save as tab-delimeted into "Output" folder.
None of the steps are difficult, currently my company does all this in Access and all steps are done with simple queries. I do not envision this taking longer than an hour for an experienced Perl programmer who has SQL or similar table combining knowledge. Upon a successful bid I will provide two separate sample cases to test the program on.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
Windows 2000 or Windows XP