See this post for an idea that could be adapted to this. It's a simple approach to parse the line into a hash in position => name form. In fact, your application would be simpler. The hash could be used to create the DML.
Update: maybe not simpler - the repetition of positions will cause my approach problems!
Update 2:
use strict; use warnings; use Data::Dumper; my $string = "QB Carson Palmer RB Chris Ivory RB Eddie Lacy WR A.J. Gr +een WR John Brown WR Davante Adams TE Martellus Bennett FLEX Jeremy H +ill DST Panthers"; my @words = split ' ',$string; my $i = 0; while ($i <= $#words) { if ($words[$i] =~ m/^[A-Z]{2,4}$/) { $words[$i++] .= ' ->'; } else { $words[$i-1] .= ' ' . splice @words,$i,1 } } print Dumper(\@words);
Output:
$VAR1 = [ 'QB -> Carson Palmer', 'RB -> Chris Ivory', 'RB -> Eddie Lacy', 'WR -> A.J. Green', 'WR -> John Brown', 'WR -> Davante Adams', 'TE -> Martellus Bennett', 'FLEX -> Jeremy Hill', 'DST -> Panthers' ];
In reply to Re: Recommendations for breaking up string?
by GotToBTru
in thread Recommendations for breaking up string?
by jdlev
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |