it is a system app call that populates the $EDM_nonactive_tapelist I am not sure what you mean "I'm not sure. "has the Orig strings in it" is not a precise statement for a computer programmer."
the variable $EDM_nonactive_tapelist which is a file with the Orig strings in it ! the foreach with the split did work! thanks! Derek B. Smith OhioHealth IT UNIX / TSM / EDM Teams "Charles K. Clarkson" <[EMAIL PROTECTED]> 08/09/2004 05:41 PM To: <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> cc: Subject: RE: regex problem [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: : All I am getting the error from my if statement: : : ^* matches null string many times in regex; marked by <-- : HERE in m/^* <-- : HERE Orig/ at . : : I am trying to get everything except *Orig in this output : : : *Orig Vol: 1703FBBDED58D4AD (E00117), Seq #: 000114 in TLU: : st_9840_acs_0, media: STK 984e : Orig Vol: 0303E68522777483 (E00486), Seq #: 000800 in TLU: : st_9840_acs_0, media: STK 984e : : 07/12/2004 18:13:17 Rotation : ID:4A03CC27.A30DEE72.00000200.0E0B8707, 5 : backups : Media duplication is not enabled. : : *Orig Vol: 4A03CC27A30DEE72 (E00632), Seq #: 000273 in TLU: : st_9840_acs_0, media: STK 984e : : Here is my code: : : foreach ($EDM_nonactive_tapelist) { : if ($EDM_nonactive_tapelist !~ "\^\*Orig") { : print $_; : } : } : : *NOTE the variable $EDM_nonactive_tapelist has the Orig strings : in it. Does foreach read line by line? No. 'foreach' as used above aliases $_ to each element of a list of scalars one item at a time. The function does not "know" the concept of "line". You have provided a list of one scalar - $EDM_nonactive_tapelist. The loop will process $EDM_nonactive_tapelist once and place it's value in $_. Any changes to $_ will also change $EDM_nonactive_tapelist. Assuming $EDM_nonactive_tapelist has a list of strings separated by newlines ("\n"), a list of those strings might be expressed as this. foreach my $srting ( split /\n/, $EDM_nonactive_tapelist ) { print "$srting\n" if /^\*Orig/; } In this example we have taken each string and placed it in a scalar variable named $string. $string is tested and printed if that test is true. The 'split' splits each string at the newline and discard that character. : Do I even need the foreach statement? I'm not sure. "has the Orig strings in it" is not a precise statement for a computer programmer. Question: How did this list of strings get into a single scalar? HTH, Charles K. Clarkson -- Mobile Homes Specialist 254 968-8328