Here is some code I am working on: #!/bin/perl -w use strict;
my $number_of_args = @ARGV; open STDERR, ">./caught_errors" or die "Can't create caught_errors: $!"; if ($number_of_args == 0) { print "Not enough arguments!\n"; print "Usage: ./cedit somefile.C++\n"; print "Usage (optional): ./cedit somefile.C++ outputfile\n"; } elsif ($number_of_args == 1) { system "g++", $ARGV[0]; open CAUGHTERRORS, "caught_errors" or die "Can't open file: $!"; chomp(my $line = <CAUGHTERRORS>); until (my $line =~ /^\s*$/) { chomp($line = <CAUGHTERRORS>); print $line."\n"; } close CAUGHTERRORS; } elsif ($number_of_args == 2) { system "g++", $ARGV[0], "-o", $ARGV[1]; } else { print "Too many arguments!\n"; print "Usage: ./cedit somefile.C++\n"; print "Usage (optional): ./cedit somefile.C++ outputfile\n"; } Basically, I am trying automate g++. However, I don't want any error messages printed to the screen. I want them saved in a text file called caught_errors. That part works. After g++ does its business, I want the script to open the text file and print out any messages that it sees in there. This is the part I am having trouble with! This is frustrating because I know I have done something like this before! Right now, in caught_errors, I am getting the following error messages: hello.c++: In function `int main()': hello.c++:7: error: syntax error before `return' Use of uninitialized value in pattern match (m//) at /home/Christstopher Spears/C++_code/tools/cedit line 16, <CAUGHTERRORS> line 1. The first two are obviously from the C++ program I wrote incorrectly to test the script. I don't understand the third error message. Any hints? -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>