in reply to Pattern Matching request

I'm not too sure what you want to do. But if you want all matches except the
first I would get all the matches and just get rid of the first one.
If you want to really match the word "STRUCT" then use something like this:
use strict; use warnings; my $dat="0011222STRUCTdata1...............02121STRUCTdata2..........02 +342STRUCTdata3"; my @m; @m = $dat =~ /STRUCT/g; shift (@m); foreach (@m) {print "$_\n"};
If you want to match the data between the "STRUCT" then try one of these:
(excluding the data1 part. If you need it just delete one of the shift)
@m = $dat =~ /(.*?)(?:STRUCT|$)/g; shift (@m); shift (@m); foreach (@m) {print "$_\n"}; @m = split(/STRUCT/, $dat); shift(@m); shift(@m); foreach (@m) {print "$_\n"};
si_lence