On Sep 1, [EMAIL PROTECTED] said:

> foreach (split /\n/, $EDM_nonactive_tapelist )  {
>                        if (( /\((E\d+)/ ) && ( !m/\*Orig/ ) && (
>m/st_9840_acs_0/ )) {

There is no $1 if all those regexes succeed, because only the FIRST one
has something captured, and all the others remove all the $DIGIT
variables.

If you do:

  for (split /\n/, $EDM_nonactive_tapelist) {
    print "$1\n" if !/\*Orig/ and /st_9840_acs_0/ and /\((E\d+)/;
  }

The problem you're having with substr() is that the third argument is the
LENGTH of the substring, not its ending point.

-- 
Jeff "japhy" Pinyan         %  How can we ever be the sold short or
RPI Acacia Brother #734     %  the cheated, we who for every service
http://japhy.perlmonk.org/  %  have long ago been overpaid?
http://www.perlmonks.org/   %    -- Meister Eckhart


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to