Hi again, i did tried combine but somehow this errors appear.Is it what i am doing is totally wrong?
String found where operator expected at step1_inpout.pl line 21, near
"$writehandle "+>"" (#1)
(S syntax) The Perl lexer knows whether to expect a term or an ope
+rator.
If it sees what it knows to be a term when it was expecting to see
+ an
operator, it gives you this warning. Usually it indicates that an
operator or delimiter was omitted, such as a semicolon.
(Missing operator before "+>"?)
String found where operator expected at step1_inpout.pl line 23, near
"$outputhandle ">"" (#1)
(Missing operator before ">"?)
syntax error at step1_inpout.pl line 21, near "$writehandle "+>""
syntax error at step1_inpout.pl line 23, near "$outputhandle ">""
Execution of step1_inpout.pl aborted due to compilation errors (#2)
(F) Probably means you had a syntax error. Common reasons include
+:
A keyword is misspelled.
A semicolon is missing.
A comma is missing.
An opening or closing parenthesis is missing.
An opening or closing brace is missing.
A closing quote is missing.
Often there will be another error message associated with the synt
+ax
error giving more information. (Sometimes it helps to turn on -w.
+)
The error message itself often tells you where it was in the line
+when
it decided to give up. Sometimes the actual error is several toke
+ns
before this, because Perl is good at understanding random input.
Occasionally the line number may be misleading, and once in a blue
+ moon
the only way to figure out what's triggering the error is to call
perl -c repeatedly, chopping away half the program each time to se
+e
if the error went away. Sort of the cybernetic version of S<20
questions>.
Uncaught exception from user code:
syntax error at step1_inpout.pl line 21, near "$writehandle "+
+>""
syntax error at step1_inpout.pl line 23, near "$outputhandle ">""
Execution of step1_inpout.pl aborted due to compilation errors.
at step1_inpout.pl line 46
This is my code
#! /tools/perl/5.8.8/linux/bin/perl
use strict;
use warnings;
use diagnostics;
# grab user input..
print "Enter the name of the file to read: ";
my $filetoread = <STDIN>;
chomp($filetoread);
print "Enter the name of the file to write: ";
my $filetowrite = <STDIN>;
chomp($filetowrite);
print "Enter the name of the output file: ";
my $fileoutput = <STDIN>;
chomp($fileoutput);
open my $readhandle, "<", $filetoread or die "Unable to read '$filetor
+ead'";
open my $writehandle "+>", $filetowrite or die "Unable to write '$file
+towrite'";
open my $outputhandle ">", $fileoutput or die "Unable to write '$fileo
+utput'";
while (<$readhandle>)
{
if ($_ =~ /^\s\s(\S+)*delay\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+
+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)
+/)
{
print $writehandle $_;
}
}
while(<$writehandle>)
{
my ( $set ) = m/^\s+(\S+)/; #get the first word
my ( $name,$value ) = m/-name (\S+) (\S+)/; #get the name and
+ value
my ( $mode ) = m/mode == (\S+)\"/; #get the mode
print "$mode $name $set $value\n";
}
close $readhandle;
close $writehandle;
|