in reply to Generating an output file
Which is, IMHO, not too unreadable (:-D) and when run, gives:use warnings; use strict; use Text::xSV; my $csv = Text::xSV->new(fh => *DATA, row_size_warning => undef); while (my $row = $csv->get_row()) { my @prefix = splice @$row, 0, 3; foreach (@$row) { print join ',', @prefix, $_ . "\n"; } } __DATA__ 1401,PERISH STORE INV,Quarterly,(V) INV810 USER NAME (EDIT REPORT IF 0 +5309 PRSH INV),EXTRACT WAS RUN),(V) INV820 USER NAME (PERISHABLE INVE +NTORY REPORT),(VTD8) D:\DEPT\ACCT\MAIL\INV820.DAT,(V) INV820C USER NA +ME (PERISHABLE INVENTORY-BAKERY),(QUARTERLY RUN ONLY) 1402,PERSH INV BOOKS,Quarterly,(V) INV805 58 COPIES - USER NAME,(V) IN +V805 2 COPIES - USER NAME,(V) INV805A XTRA COPIES-SAVE IN COMPUTER RO +OM,ANNUAL STORE INVENTORY ONLY:,(V) INV805 58 COPIES - USER NAME,(V) +INV805 2 COPIES - USER NAME,(V) INV805A XTRA COPIES-SAVE IN COMPUTER +ROOM 1403,BAKERY INV BOOKS,Quarterly,(V) INV805 35 COPIES - USER NAME,(V) I +NV805A 5 COPIES - SAVE IN COMPUTER ROOM,ANNUAL STORE INVENTORY ONLY:, +(J) INV805 35 COPIES - USER NAME,(J) INV805A 5 COPIES - SAVE IN COMPU +TER ROOM 1501,INV PRICE GUIDE,As Needed,(V) MSC052 BOTH COPIES ARE TO BE PUT IN + BINDERS AND,AND LEFT ON THE CABINETS BEHIND THE DP,SECRETARY'S DESK
Update:$ perl tst.pl 1401,PERISH STORE INV,Quarterly,(V) INV810 USER NAME (EDIT REPORT IF 0 +5309 PRSH INV) 1401,PERISH STORE INV,Quarterly,EXTRACT WAS RUN) 1401,PERISH STORE INV,Quarterly,(V) INV820 USER NAME (PERISHABLE INVEN +TORY REPORT) 1401,PERISH STORE INV,Quarterly,(VTD8) D:\DEPT\ACCT\MAIL\INV820.DAT 1401,PERISH STORE INV,Quarterly,(V) INV820C USER NAME (PERISHABLE INVE +NTORY-BAKERY) 1401,PERISH STORE INV,Quarterly,(QUARTERLY RUN ONLY) 1402,PERSH INV BOOKS,Quarterly,(V) INV805 58 COPIES - USER NAME 1402,PERSH INV BOOKS,Quarterly,(V) INV805 2 COPIES - USER NAME 1402,PERSH INV BOOKS,Quarterly,(V) INV805A XTRA COPIES-SAVE IN COMPUTE +R ROOM 1402,PERSH INV BOOKS,Quarterly,ANNUAL STORE INVENTORY ONLY: 1402,PERSH INV BOOKS,Quarterly,(V) INV805 58 COPIES - USER NAME 1402,PERSH INV BOOKS,Quarterly,(V) INV805 2 COPIES - USER NAME 1402,PERSH INV BOOKS,Quarterly,(V) INV805A XTRA COPIES-SAVE IN COMPUTE +R ROOM 1403,BAKERY INV BOOKS,Quarterly,(V) INV805 35 COPIES - USER NAME 1403,BAKERY INV BOOKS,Quarterly,(V) INV805A 5 COPIES - SAVE IN COMPUTE +R ROOM 1403,BAKERY INV BOOKS,Quarterly,ANNUAL STORE INVENTORY ONLY: 1403,BAKERY INV BOOKS,Quarterly,(J) INV805 35 COPIES - USER NAME 1403,BAKERY INV BOOKS,Quarterly,(J) INV805A 5 COPIES - SAVE IN COMPUTE +R ROOM 1501,INV PRICE GUIDE,As Needed,(V) MSC052 BOTH COPIES ARE TO BE PUT IN + BINDERS AND 1501,INV PRICE GUIDE,As Needed,AND LEFT ON THE CABINETS BEHIND THE DP 1501,INV PRICE GUIDE,As Needed,SECRETARY'S DESK
In retrospect i.e. whilst watching my daughter learning to swim, it occurred to me that I probably ought to recommend the use of the print() &/or print_row() methods (of Text::xSV) to generate the output.
|
|---|