On Apr 22, rmck said: >bash-2.03$ ./clean.pl data.txt >10 >5201 >8001 >0 >3802 >##The Rest## >Header >20 >80 >bash-2.03$ > >I thought I could do this: > >#!/bin/perl > use strict; > use warnings; > > while( <> ) { #read from stdin one line or record at a time >next if $_ =~ /(^20$|^80$|^Header$)/; >print ; >if ($_ == /(^20$|^80$|^Header$)/){
You don't want to use == here, you want to use =~. >$rest = $_; >print "##The Rest##\n"; >print $rest; > } >} Here's how I'd do it: my @rest = (); while (<>) { if (/^(20|80|Header)$/) { push @rest, $_ } else { print } } print "## The Rest ##\n"; print @rest; -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ CPAN ID: PINYAN [Need a programmer? If you like my work, let me know.] <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>