in reply to Recommendations for breaking up string?
#!/usr/bin/env perl use strict; use warnings; use Data::Dump; my @positions = qw/QB RB WR WR WR TE FLEX DST/; my $str = '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 Panth +ers'; my $ds; my $currentPosition; for my $word (split /\s+/,$str) { if (my ($position) = grep { $word eq $_ } @positions) { $currentPosition = $position; push @{$ds->{$currentPosition}}, []; } else { push @{$ds->{$currentPosition}[-1]}, $word; } } dd $ds; { DST => [["Panthers"]], FLEX => [["Jeremy", "Hill"]], QB => [["Carson", "Palmer"]], RB => [["Chris", "Ivory"], ["Eddie", "Lacy"]], TE => [["Martellus", "Bennett"]], WR => [["A.J.", "Green"], ["John", "Brown"], ["Davante", "Adams"]] +, }
|
|---|