in reply to Extract data from CSV field.
G'day JobC,
Welcome to the Monastery.
I believe you can perform all the modifications with this transliteration:
y/, \n/ /s
Here's my test:
#!/usr/bin/env perl -l use strict; use warnings; my @data = ( q{"TRAY,HINGED,PLSTC,20 CAV #F32473"}, q{"BOX HSC,35-3/4X17-1/4 X 50-1/2 SIMULATOR TALL BOX"}, q{"PAD, FOAM, 24 X 24 X 1/4 #16193 + 112 SHEETS PER ROLL, ORDER IN FULL ROLLS"}, q{"PKG LIST,ASST ARM,RAD,300 #F37784"}, q{"PAD, TOP CAP RE17-30048 #F30121 + CORRUGATED ASSEMBLY, 22-7/8 X 21-1/8 X 4-3/4"} ); print 'Before:'; print for @data; print 'After:'; for (@data) { y/, \n/ /s; print; }
Output:
Before: "TRAY,HINGED,PLSTC,20 CAV #F32473" "BOX HSC,35-3/4X17-1/4 X 50-1/2 SIMULATOR TALL BOX" "PAD, FOAM, 24 X 24 X 1/4 #16193 + 112 SHEETS PER ROLL, ORDER IN FULL ROLLS" "PKG LIST,ASST ARM,RAD,300 #F37784" "PAD, TOP CAP RE17-30048 #F30121 + CORRUGATED ASSEMBLY, 22-7/8 X 21-1/8 X 4-3/4" After: "TRAY HINGED PLSTC 20 CAV #F32473" "BOX HSC 35-3/4X17-1/4 X 50-1/2 SIMULATOR TALL BOX" "PAD FOAM 24 X 24 X 1/4 #16193 112 SHEETS PER ROLL ORDER IN FULL ROLLS +" "PKG LIST ASST ARM RAD 300 #F37784" "PAD TOP CAP RE17-30048 #F30121 CORRUGATED ASSEMBLY 22-7/8 X 21-1/8 X +4-3/4"
I've made two assumptions:
See "perlop: Quote-Like Operators" for details of y///. Also note that y/// and tr/// are synonymous.
You'll probably find that y/// is faster than s/// (see "perlperf - Perl Performance and Optimization Techniques").
— Ken
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Extract data from CSV field.
by JobC (Acolyte) on Dec 09, 2015 at 17:36 UTC |