http://qs321.pair.com?node_id=1092423


in reply to Re^4: converting txt to csv and formatting
in thread converting txt to csv and formatting

I recommend you clearly separate the parsing of the input from the formatting and outputting of the CSV records. This is a more maintainable and less error-prone technique than inputting/parsing and formatting/outputting simultaneously. I also think using modular arithmetic with $. ($INPUT_LINE_NUMBER) is less clear than simply reading each trio of lines explicitly as AppleFritter demonstrated here.

I also recommend you use autodie, explicitly specify the character encodings of the two text files, and explicitly close both file handles.

use autodie qw( open close ); my $input_file = 'clients.txt'; my $output_file = 'clients.csv'; open my $input_fh, '<encoding(UTF-8)', $input_file; open my $output_fh, '>encoding(UTF-8)', $output_file; # Process the client data file... close $input_fh; close $output_fh; exit 0;