in reply to Re: Re: help needed on a foreach loop from hell!!!
in thread help needed on a foreach loop from hell!!!
Depending on what you're parsing here, I'd probably use a split rather than $1. YMMV.print "Enter file name and path of .ins to parse:\n"; my $filename1 = <STDIN>; die "File $filename1 does not exist\n" unless (-e $filename1); print "Enter file name and path of .rcs to search:\n";<br> my $filename2 = <STDIN>; die "File $filename2 does not exist\n" unless (-e $filename2); open (FILE, "<$filename1) or die "Can't open file $filename1 :$!\n"; my @file = <FILE>; close FILE; foreach my $line (@file) {
HTH, YMMVif ($line =~ /EditorName/) { my @name = split(/\s+/, $line); my $first = $name[1]; my $last = $name[2]; } foreach my $line2 (@file) { if ($line2 =~ /EditorCommand/) { my @commands = split(/s+/, $line2); shift @commands; # To remove the EditorCommand - Requires line that +looks like "EditorCommand print paste copy" } open (OUTPUT, ">>test.txt"); foreach my $com (@dcommands) { my $pattern = $word1 . ":" . $com; my $test = in_file($pattern, $filename2); if ($test) { print OUTPUT "Found $pattern in $filename2 \n"; } else { print "$pattern not in $filename2 \n"; } } exit; #### SUBS #### sub in_file { my $pattern = shift; my $filename2 = shift; open INFILE, $filename2 or die "Can't open $filename2: $!\n"; my $found = 0; while (<INFILE>) { if (/$pattern/) { $found = 1; last; } close FILE; return $found; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: help needed on a foreach loop from hell!!!
by theguvnor (Chaplain) on Jan 24, 2002 at 07:10 UTC | |
by Ineffectual (Scribe) on Jan 24, 2002 at 22:54 UTC |