thanks Dan (and Patrick and Richard)
I did try the:
open(RESULT, ">$outfile") or die "$!"; # it does run, but nothing written
to file?
I also tried shifting the open to after the while loop:
while (<INFO>) {
print RESULT;
}
open(RESULT, ">$outfile") or die "$!"; # runs, but nothing written to file?
My $outfile time stamp is changing, but I don't think data is making it to
the $outfile.
Rob
--
> -----Original Message-----
> From: Dan Brown [SMTP:[EMAIL PROTECTED]]
> Sent: Monday, April 30, 2001 5:45 PM
> To: McCormick, Rob E
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: open file, find lines and print to a second file....
>
> I'm not sure what you mean by your last question (what pattern do you
> use when the output file...).
>
> The error is due to the fact that outside of quotes the > is an operator
> (greater than). Try
>
> open( RESULT, ">$outfile" ) or die "$!";
>
> With the single greater than ">" the output file will be created. If it
> existed before running the script, the contents of this file will be
> erased.
>
> With the double greater than ">>" the output file will be created. If
> it existed before running the script, the contents of this file will
> remain and the new information will be appened to the file.
>
> Hope this helps.
>
> Dan
>
>
> "McCormick, Rob E" wrote:
> >
> > gang,
> >
> > # problem: open a file
> > # find lines that meet a condition, put them in an output file
> >
> > Could you share some patterns/sample code that you use to accomplish
> this
> > task? What pattern do you use when the output file doesn't exist when
> the
> > script begins?
> >
> > The code below errors with:
> > C:\WINNT\Profiles\rem27920\Desktop\perl>remove_lines.pl
> > syntax error at C:\WINNT\Profiles\rem\Desktop\perl\remove_lines.pl line
> 7,
> > near ", >"
> > Execution of C:\WINNT\Profiles\rem\Desktop\perl\remove_lines.pl aborted
> due
> > to compilation
> > errors.
> >
> > #!c:/perl/bin/perl -w
> > use strict;
> >
> > my $file = 'c:/winnt/profiles/rem/desktop/old_websites.txt';
> > my $outfile = 'c:/winnt/profiles/rem/desktop/old_web2.txt';
> > open(INFO, "$file") or die "$!"; # file open w/error check
> > open(RESULT, >$outfile); # tried "$outfile" as well...
> > my @lines = grep { ! /_vti_cnf/ } <INFO>;
> > while (<INFO>) {
> > print RESULT;
> > }
> >
> > #print (@lines, $outfile ); # prints lines to STDOUT, and the filename
> > # print (join "\n", @lines); # print files, one per line
> >
> > close INFO;
> > close RESULT;
> >
> > thank you,
> > Rob
> > --
> > Rob McCormick
> > [EMAIL PROTECTED]