I kept working at it and was finally able to get rid of the unwanted lines 
in the text file using a series of nested if's.  It's certainly not 
elegant, but it works !

Surely there's a more efficient way to get rid of the unwanted lines. 

 Anyway, here's what I came up with for now.  This leaves the names in 
one, two, or three columns, but I know how to reformat them into one name 
per column.

#!/usr/bin/perl -w
use strict;
$_ = "";
open(INFILE, "c:\\foobar.txt")or die "sourcefile open failed - $!";

while (<INFILE>){
     if (not $_ =~ /^The request/){
      if (not $_ =~ /^Group/){
       if (not $_ =~ /^Comment/){
        if (not $_ =~ /^Members/){
         if (not $_ =~ /^------/){
          if (not $_ =~ /^The command/){
           if ($_ =~ /\S/){
            print $_ ;
           } 
          } 
         } 
        }
       }
      }
     }
}
close

The result of this code is this:

arod                     cschilling               csenior 
ecostello                ffrank                   gbennett 
LBird                    PMartinez 

----- Forwarded by Stuart Clemons/Westford/IBM on 12/22/2003 01:47 PM 
-----

Stuart Clemons/Westford/IBM 
12/22/2003 11:16 AM

To
[EMAIL PROTECTED]
cc

Subject
Newbie trying to cleanup/format text file







Hi all: 

I'm trying to cleanup and format this text file of user names, so that I 
have one column of user names.  Here's the text file: 

The request will be processed at a domain controller for domain FOOBAR. 

Group name        Misc 
Comment        These are the FOOBAR users 

Members 

------------------------------------------------------------------------------- 

arod                     cschilling               csenior 
ecostello                ffrank                   gbennett 
LBird                    PMartinez                     
The command completed successfully. 

I would like an output file to read like this: 

arod 
cschilling 
csenior 
ecostello 
ffrank 
gbennett 
LBird 
PMartinez 

I know how to put the names into one column, if I don't have all the extra 
lines.  So, I've been trying to figure out how to eliminate all lines 
except for the names. 

I tried opening the file, then using a "not match" regex to eliminate all 
lines except the name lines.  So far, I can't seem to eliminate more than 
one line of "not match".   Any help will be appreciated.  Here's my feeble 
newbie code.  This code will eliminate the "Group" line, but that's it.  I 
tried adding other conditionals to eliminate other unwanted lines, but 
they don't work. 

open(FH, "c:\\foobar.txt") or die "sourcefile open failed - $!"; 
while (<FH>){ 
            if (not $_ =~ /^Group/) { 
            print $_ ; 
            } 
} 

Reply via email to