Perlwannabe wrote:
> 
> OK, I have a new problem.  I need to delete an entire line that contains
> certain text.  I have done an extensive search and had no luck finding an
> adequate answer.  Yes, I also saw the FAQ that just refers me to
> Tie::file.  The most promising solution was:
> 
> perl -ni.bak -e 'print unless /FOO/;' input.txt
> 
> but when I run that line from the c:\ I get the following error:
> 
> Can't find string terminator "'" anywhere before EOF at -e line 1.

That is because the Windows command interpreter doesn't like single
quotes, you have to use double quotes.

perldoc -q "Why don't Perl one-liners work on my DOS/Mac/VMS system"


> Also, I would like to run this from within a script instead of from the
> command line.
> 
> BTW...using PERL 5.8.0 on Windows2000 Pro

Here is one way to do it:

use warnings;
use strict;

my $file = shift or die "usage: $0 filename\n";

rename $file, "$file.bak" or die "Cannot move $file to $file.bak: $!";
open my $in, '<', "$file.bak" or die "Cannot open $file.bak: $!";
open my $out, '>', $file or die "Cannot open $file: $!";

while ( <$in> ) {
    print $out unless /FOO/;
    }

__END__



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to