use strict;
my $str = 'SLN 4 GRP 662 STYP \'TZ\' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG \'PLA\'
SLNB X1 -71629.6763 -89524.0401 34193.7197 X2 -70145.9264 -91487.9275 34193.7197
SLN 6 GRP 662 STYP \'TZ\' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG \'PLA\'
SLNB X1 -68645.9265 -89524.0401 34193.7197 X2 -67145.9265 -91487.9275 34193.7197
SLN 8 GRP 662 STYP \'TZ\' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG \'PLA\'
SLNB X1 -65780.9266 -89524.0401 34193.7197 X2 -64280.9267 -91487.9275 34193.7197
SLN 10 GRP 662 STYP \'TZ\' SNO 1037 DRX -3.41018E-15 2.25685E-15 -1 XFLG \'PLA\'
SLNB X1 -62780.9267 -89524.0401 34193.7197 X2 -61280.9268 -91487.9275 34193.7197
SLN 12 GRP 662 STYP \'TZ\' SNO 1037 DRX 3.41018E-15 2.25685E-15 -1 XFLG \'PLA\'
SLNB X1 -74597.1762 -89524.0401 34193.7197 X2 -76080.9261 -91487.9275 34193.7197
SLN 15 GRP 662 STYP \'TZ\' SNO 1037 DRX -0.218907 0.519243 -0.826115 XFLG \'PLA\'
SLNB X1 -71629.6763 -95007.3548 31588.4632 X2 -73113.4262 -91487.9275 34193.7197
SLN 16 GRP 662 STYP \'TZ\' SNO 1037 DRX 0.218907 0.519243 -0.826115 XFLG \'PLA\'
SLNB X1 -70145.9264 -91487.9275 34193.7197 X2 -71629.6763 -95007.3548 31588.4632
SLN 17 GRP 662 STYP \'TZ\' SNO 1037 DRX -0.215802 0.515972 -0.828976 XFLG \'PLA\'
SLNB X1 -68645.9265 -95074.3499 31570.9694 X2 -70145.9264 -91487.9275 34193.7197
SLN 18 GRP 662 STYP \'TZ\' SNO 1037 DRX 0.215802 0.515972 -0.828976 XFLG \'PLA\'
SL';
my $regex = qr/[Ss][Ll][Nn]\s+\d+\s+[Gg][Rr][Pp]\s+\d+\s+[S][T][Y][P]\s+['][T][Z][']\s+[Ss][Nn][Oo]\s+\d+\s+/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html