How to fix the syntax error issue ?

citiwang's Avatar, Join Date: May 2011
Newbie Member
Code:
##### choosing which file type #################
print "Please Choose Solution ? \n" ;
print " 1) Please Input An filename ? \n" ;
print " 2) Summation Daily Total Counts  \n" ;
chomp ($line = <ftype>);
if ("$ftype" == "1") {
        print "Please input filename and file path \n" ;
        chomp ($line1 = <filepath>);
}
        if ( ! -e "$filepath" ) {
                print "************************************" ;
                print "*****Shit!! File does not exist*****" ;
                print "************************************" ;
                exit 1;
}
@datatype = ('split','licenceCounter','cdrsReceivedTotSum','cdrsCombinedSum','cdrsAggregatedSum');
    foreach (@datatype) {
         print $i;
                `gzcat $filepath | grep $i  >> $tmp_folder/$i."log"`;
}
elsif ("$ftype" == "2") {
        print " Please input date for processing \n";
        chomp ($line2 = <filedate>);  # ch_server
        print " Please input path \n";
        chomp ($line3 = <datepath>);
        $datefile =`ls -al $datepath/PM.$hostip.$filedate.*.xml.gz | wc -l`;
        if ( "$datefile" == "0" ) {
                print "Sorry !! There are no PM files under $datepath" ;
                exit 1 ;
}
@datatype = ('split','licenceCounter','cdrsReceivedTotSum','cdrsCombinedSum','cdrsAggregatedSum');
    foreach (@datatype) {
         print $i;
               `gzcat $datepath/PM.$hostip."$filedate.\*"."xml.gz" |grep $i  >> $tmp_folder/$i."log"`;
}
else {
        print "Sorry!! You don't give me the right command" ;
}
syntax error at test.pl line 25, near "elsif"
syntax error at test.pl line 30, near "else"
Missing right curly or square bracket at test.pl line 32, at end of line

Last edited by shabbir; 24May2011 at 09:39.. Reason: Code blocks
0
sreek's Avatar, Join Date: Nov 2010
Go4Expert Member
I think your brackets are misaligned and indentation problem also.
Is this what you implied in code?

Code:
##### choosing which file type #################
print "Please Choose Solution ? \n" ;
print " 1) Please Input An filename ? \n" ;
print " 2) Summation Daily Total Counts  \n" ;
chomp ($line = <ftype>);
if ("$ftype" == "1") {
        print "Please input filename and file path \n" ;
        chomp ($line1 = <filepath>);
        if ( ! -e "$filepath" ) {
                print "************************************" ;
                print "*****Shit!! File does not exist*****" ;
                print "************************************" ;
                exit 1;
	}
	@datatype = ('split','licenceCounter','cdrsReceivedTotSum','cdrsCombinedSum','cdrsAggregatedSum');
	foreach (@datatype) {
		 print $i;
                `gzcat $filepath | grep $i  >> $tmp_folder/$i."log"`;
	}
}
elsif ("$ftype" == "2") {
        print " Please input date for processing \n";
        chomp ($line2 = <filedate>);  # ch_server
        print " Please input path \n";
        chomp ($line3 = <datepath>);
        $datefile =`ls -al $datepath/PM.$hostip.$filedate.*.xml.gz | wc -l`;
        if ( "$datefile" == "0" ) {
                print "Sorry !! There are no PM files under $datepath" ;
                exit 1 ;
	}
	@datatype = ('split','licenceCounter','cdrsReceivedTotSum','cdrsCombinedSum','cdrsAggregatedSum');
	foreach (@datatype) {
		print $i;
               `gzcat $datepath/PM.$hostip."$filedate.\*"."xml.gz" |grep $i  >> $tmp_folder/$i."log"`;
	}
}
else {
        print "Sorry!! You don't give me the right command" ;
}