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 $_ ;
}
}