my first "serious" perl module is simple parse of IBM MVS JCL. In the following routine, I'm looking for program name in a parm line that may be of the form: PARM='BMP,WEAAC202,WEAAC202,,,,,,,,80,,,,,,' (in this instance it's supposed to go after the first 'WEAAC202')
#!/usr/bin/perl use strict; use warnings; my $F=0; .......... Main Part of Program Here ................. sub PARin { if ($_ =~ /PARM=\(\'[\w\/]*\',([\w]{6,8}),/) { if ($F == 1) { print "\n$ARGV[0],$St,$1"; } } elsif ($_ =~ /PARM=\'(BMP)|(DLI),([\w]{6,8}),/) { <----A if ($F == 2) { print "\n$ARGV[0],$St,$3"; <----B } } } $F simply tells us that we are in fact expecting that format PARM. $ARGV[0] contains an identifying value to show up first in the resulting CSV file. I thought that since parens are around both BMP and DLI ("A"), that the part I want - ([\w]{6,8}) - would be called $3 ("B"). But this causes an "uninitialized value" error. If I print $1, however, it has the value BMP. How to print the third parenthesized part inside a regex? Thanks ji __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]