How to fix the syntax error issue ?

Newbie Member
24May2011,07:13   #1
citiwang's Avatar
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
Go4Expert Member
24May2011,21:48   #2
sreek's Avatar
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" ;
}