http://qs1969.pair.com?node_id=569459

Grey Fox has asked for the wisdom of the Perl Monks concerning the following question:

Hello fellow monks;
I am trying to capture all of the individual SECTION/FIGURE/ITEM by column for each individual line. I can't read the file line by line because the data might run over to the next line. I tried to put the results of the regex into an array but that makes a separate entry in the array for each field. When I do it the way in the example I only get the first occurrence of SECTION/FIGURE/ITEM. What kind of looping structure do I need to get all of the occurrences within my data. Thanks
#!/pw/prod/svr4/bin/perl use strict; use warnings; undef $/; my $data = <DATA>; $data =~ m{(\d+-)(\d+-)(\d+)(\s*/\s*)(\d+)(\s*/\s*)(\d+)}g; print "$1, $2, $3, $4, $5, $6, $7\n"; __DATA__ PART NAME QUANTITY SECTION/FIGURE/ITEM Widget1 1 72-33-00/ 23/ 85 Widget1 1 75-20-00/ 11/ 10 Widget2 1 72-33-00/20/10 Widget2 1 72-33-00/20/70 Widget2 1 72-00-33/2/1 Widget2 1 72-00-33/2/20 Widget2 1 73-12-00/4/1 Widget2 1 73-12-00/4/220 Widget2 1 73-12-00/3/10 Widget2 2 79-20-00/9/1 Widget2 1 79-20-00/5/1
-- Grey Fox
Perl - Hours to learn lifetime to master.