in reply to Simple parse of text file to csv
"..parsing a text file and creating a CSV file.."
of course, if you are creating a CSV file, you will have to look into module Text::CSV or Text::CSV_XS. Hence, davido's important comment.
However, for "Flat File", data you posted the following should still work:
Output:use warnings; use strict; my %data_config; my $key; while (<DATA>) { chomp; if (/(.+?):$/) { $key = $1; } else { push @{ $data_config{$key} }, $_; # {updated} } } print "Host, OS, Version, Hot Fixes, Features\n"; for ( 'Host', 'Kernel', 'Version', 'Hot fixes', 'Enabled Features' ) { print "@{$data_config{$_}}, "; } __DATA__ Host: NetDevice1234 Kernel: Linux 2.6.18-164.11 Version: Driver 23.4.1 333.0 Hotfix BLD Edition Hot fixes: HF372590 HF372804 HF372864 Enabled Features: FTP HTTP SMTP Active Directory
Host, OS, Version, Hot Fixes, Features NetDevice1234, Linux 2.6.18-164.11, Driver 23.4.1 333.0 Hotfix BLD Edi +tion , HF372590 HF372804 HF372864, FTP HTTP SMTP Active Dir +ectory,
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Simple parse of text file to csv
by Tux (Canon) on Dec 19, 2012 at 07:19 UTC |