First, thanx to Tim and Bob. It is working as I would like. Now I have a substitution question.
If $line is "delay=12, status=sent (fw-3.alliednational.com)" how do I make a substitution like this... #!/usr/bin/perl -w use strict; my $line; my $red="\033[0;31m"; my $yellow="\033[0;33m"; my $blue="\033[0;34m"; my $normal="\033[0m"; while ( $line = <STDIN> ) { $line =~ s/reject/$red.reject.$normal/gi ; $line =~ s/ from /$yellow from $normal/gi ; $line =~ s/status/$blue status $normal/gi ; print $line; } What I get is "delay=12, status =sent (fw-3.alliednational.com)" with the word status in blue. Is there a way to use the substitution strings and not print the spaces? As you can see I tried periods and it prints the periods. The "from" works becauase the string I want to search for is literally "<space>from<space>". Thanx! -Michael >>> Tim Yohn <[EMAIL PROTECTED]> 07/10/03 04:53PM >>> On Thu, 2003-07-10 at 17:30, Michael Weber wrote: > Here's the basic frame of code I'm using: > > #!/usr/bin/perl -w > > use strict; > > my $line; > > while(1) { > $line = <STDIN>; > # Highlighting code goes here... > print $line; > } > I would suggest using the following: while($line = <STDIN>) { # Highlighting code goes here... print $line; } This way it sets $line each iteration through the loop and when there is no more <STDIN> to process it breaks the while and exits. Tim. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]