Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Dear Monks, I am trying to run the following programme & the errors I am facing while running are as follows:
syntax error at checkdataperl.p line 249, near "for" syntax error at checkdataperl.p line 250, near "++)" syntax error at checkdataperl.p line 286, near "}" Execution of checkdataperl.p aborted due to compilation errors.
Can you please let me know what is the error actually?????

#!/usr/local/bin/perl print("\n \nWelcome !! Please input the response very carefully in thi +s programme whenever asked for \n Now please ensure that before running +the programme you have run the vp29apr programme for the corresponding hou +r and also the 1d files for the j or t hour as applicable are has also been +run upon \n Now please enter the hour for which you want to check the data quality (a,b,..x) \n?" ); $hour=<STDIN>;chop($hour); print("you entered ", $hour ,"\n"); $comparison=3;@arrone=();@arrtwo=(); @array=("o","p","q","r","s","u","v","w","x","a","b"); if ($hour eq "j") { $comparison=$hour; } elsif($hour eq "t") { $comparison=$hour; } else { for($n=0;$n<=10;$n++) { if($array[$n] eq $hour) { $comparison="t"; } } } if($comparison ne "t") { if($comparison ne $hour) { $comparison = "j"; } } print("\n the value of comparison is ", $comparison ,"\n"); print ("\n Please enter the allocation no. from which you want to chec +k the data (1-60) \n"); $allocin=<STDIN>;chop($allocin); print ("\n",$allocin,"\n"); use PGPLOT; # Load PGPLOT module print "\nTesting simple point plot...\n\n"; print "PGPLOT module version $PGPLOT::VERSION\n\n"; pgqinf("VERSION",$val,$len); print "PGPLOT $val library\n\n"; # "?" will prompt for device $dev = "/xw" unless defined $dev; pgbegin(0,$dev,1,1); # Open plot device pgscf(2); # Set character font pgslw(4); # Set line width pgsch(1.6); # Set character height pgask(false); for ($alloc=$allocin;$alloc<=60;$alloc++) { print ("\n",$alloc,"\n"); $i=0;$m=0;$p=0; print "\n We are checking data quality for hour=$hour Alocation= $a +lloc \n"; $astatname="/tmp_mnt/usr4/mrt/vinayPandey/name".$alloc.$hour."1.astat" +; $onedname="/tmp_mnt/usr4/mrt/vinayPandey/name".$alloc.$hour."1.1d" ; if ($comparison ne $hour) { $caldet="/usr4/mrt/vinayPandey/caldet".$alloc.$comparison."1.1d"; open(CALDET,$caldet); $c2=0; $line=<CALDET>; while( $line ne "" ) {chop($line); ($calqone[$c2],$calqtwo[$c2],$calqthree[$c2],$calqfour[$c2])=split(' ' +,$line,4); $line=<CALDET>; $c2++; } } if ((open(NAMEAS, $astatname)) && (open(NAMEONED,$onedname))) { while(<NAMEAS>) { ($arrone[$i],$arrtwo[$i])=split(' '); $i++; } close(NAMEAS); $n[1]=$i-1; while(<NAMEONED>) { ($arrthree[$m],$arrfour[$m])=split(' '); $m++; } } $n[2]=$m-1; close(NAMEONED); $k=0; for($p=0;$p<=$n[1];$p++) { for($n=0;$n<=7;$n++) { chop($arrone[$p]); } $corresonedname=($arrone[$p]."1d");$arrone[$p]=$arrone[$p]."astat.gz" +; if ( -e $corresonedname ) { for($j=0; $j<=$n[2];$j++) { if ( $corresonedname eq $arrthree[$j]) { $arronestore[$k]=$arrone[$p]; $arrtwostore[$k]=$arrtwo[$p]; $arrthreestore[$k]=$arrthree[$j]; $arrfourstore[$k]=$arrfour[$j]; if (open(NAME ,"$corresonedname")) { $g=0; while(<NAME>) { # Read data in 2 columns from file handle # and put in two perl arrays chop(); ($y[$g],$x[$g]) = split(/\s+/); $g++; } print ("\ng=",$g,"\n"); close (NAME); } $response="h";$r="f";$ab1=0; while ($response ne "abcde") { @arrsidtime=("a","b","c","d","e","f","g","h","i", "j","k","l","m","n","o","p","q","r","s","t","u","v","w","x"); if ($r eq "f") { $y1=0;$y2=0.1;$fmin=$y[0];$fmax=$y[0]; for ($s1=0;$s1<($g-1);$s1++) { if ($fmax < $y[$s1]) { $fmax=$y[$s1]; } if ($fmin > $y[$s1]) { $fmin= $y[$s1]; } } print ("\n ymax=",$fmax,"Ymin=",$fmin,"\n"); $y1=$fmin; $y2=$fmax; $y2=($y2+0.1); $y1=($y1-0.1); print ("\n y2=",$y2,"y1=",$y1,"\n"); while( $hour ne $arrsidtime[$ab1]) { ++$ab1;$ab2=$ab1 + 1;$r="t"; } } pgenv($ab1,$ab2,$y1,$y2,0,0); # Define data limits and plot axes pglabel("X","Y",$corresonedname); # Labels pgsci(5); # Change colour pgline($g,\@x,\@y); print("\n please enter your response for the plot....\n FOR SEEING +THE PLOT WITH MODIFIED AXES PLEASE ENTER n \n OR GIVE THE APPROPRIA +TE QUALITY FACTOR FOR THE FILE FROM 1-9\n ?"); $response=<STDIN>; chop($response); print ("you entered ",$response,"\n"); if ($response eq "n" ) { print ("\n Please enter Xmin value\n"); $abr1=<STDIN>;chop($abr1); if ($abr1 ne "") {$ab1=$abr1;} print ("\n Please enter Xmax value\n"); $abr2=<STDIN>;chop($abr2); if ($abr2 ne "") {$ab2=$abr2;} print ("\n Please enter Ymin value\n"); $yr1=<STDIN>;chop($yr1); if ($yr1 ne "") {$y1=$yr1;} print ("\n Please enter Ymax value\n"); $yr2=<STDIN>;chop($yr2); if ($yr2 ne "") {$y2=$yr2;} } elsif(("123456789" =~ m/$response/) && ($response ne "")) { $quality[$k]=$response;$response="abcde"; print ("\n aulaity ",$k,"=",$quality[$k],"\n"); } else { print "\n please enter proper response\n"; } } if ($comparison eq $hour) { $k++; goto NEXTLINE; } else { $hdiffer = &get_RAdiff_fromsun($comparison,$arrthree[$k]); if (($quality eq "1") && ($hdiffer >= 2)) { $calfilename=&gencalfn($corresonedname,$comparison) if (-e $calfilename) { $c2=$c2-1; for($c3=0;$c3<=$c2;$c3=$c3++) { if(($calfilename eq $calqname[$c3]) && ($calqfour[$c3] eq "1") && ($ca +lqthree[$c3]<=100)) { $gooddata="/usr4/mrt/vinayPandey/good".$hour; if (-e $gooddata) {open(FILE, ">>$gooddata"); } else { open(FILE,">$gooddata"); } $qnet=1; print FILE "$arrthreestore[$k] $arrfourstore[$k] $arrtwostore[$k] $qua +lity[$k] $calqone[$c3] $calqtwo[$c3] $calqthree[$c3] $calqfour[$c3] $ +qnet \n"; close(FILE); $k++; goto NEXTLINE; } else { if ($calfilename eq $claname[$c3]) { $c2++; $k++; goto NEXTLINE; } } } } } $k++; goto NEXTLINE; } } } } else { print "\n we are not able to find file $corresonedname\n"; } NEXTLINE: } if ( $comparison eq $ hour) { print "\n +++ k= $k"; $k=$k-1;print "\n +++ k= $k"; $calname="/usr4/mrt/vinayPandey/caldet".$alloc.$hour."1.1d"; if (-e $calname) { open(CALNAME, ">>$calname"); } else { open(CALNAME, ">$calname"); } for($c1=0;$c1<=$k;$c1++) { $hdifference=&get_RAdiff_forsun($comparison,$arrthreestore[$c1]); if ($hdiffernce < 2) { $quality[$c1]=$quality[$c1]+$W7; } print CALNAME "$arrthreestore[$c1] $arrfourstore[$c1] $arrtwostore[$c1 +] $quality[$c1] \n"; } close (CALNAME); } else { $k=$k-1; $c2=$c2-1; for($tak1=0;$tak1<=$k;$tak1++) { $calibname=&gencalfn($arrthree[$tak1],$comparison); $pos=&get_RAdiff_forsun($comparison,$arrthree[$tak1]); if (-e $calibname) {$W6=0;$factor="y";} else { $calibnamenew=$calibname; @newarr=("1a","2b","3c","4d","5e","6f","7g","8h","9i","10j","11k","12 +l","13m","14n","15o","16p","17q","18r","19s","20t","21u","22v","23w", +"24x"); for($st1=0;$st1<=6;$st1++) {chop($calibnamenew);} $b1=chop($calibnamenew); $b2=chop($calibnamenew); $b12=$b2.$b1; $jd1=chop($calibnamenew); $jd2=chop($calibnamenew); $jd3=chop($calibnamenew); $jday=$jd3.$jd2.$jd1; $nlm1=-1; $sn=chop($calibnamenew); $nl=0; while($nl != 5){ for ($ensure=1;$ensure<=2;$ensure++) {$nlm=$nlm1*$nl; $jday=$jday+$nlm; for ($na=1;$na<=4;$na++) { @subsubst=grep(/$na\S/,@newarr); $subsubst[0]=chop($subsubst[0]); for ($nah=1;$nah<=24;$nah++) { @hoursubst=grep(/$nah\S/,@newarr); $hoursubst[0]=chop($subsubst[0]); $caltestname=$calibnamenew.$subsubst[0].$jday.$b12."_".$hoursubst[0].$ +comparison."1.1d"; if (-e $caltestname) { $calibname=$caltestname;$factor="y"; if ($nl=0) {$W6=0;} elsif($nl<=3) {$W6=3;} else{$W6=5;} goto CHECK; } } } if ($nl eq "0") {++$ensure;} } $nl++; } if ($factor ne "y") {$calibname=$calqone[$tak2];} CHECK: for ($tak2=0;$tak2<=$c2;$tak2++) { if ($calibname=$calqone[$tak2]) { if ($calqthree[$tak2]<=100){$W4=1;} elsif ($calqthree[$tak2]<=400){$W4=2;} else{$W4=3;} if ($arrtwostore[$k]<=100) {$W3=1;} elsif ($arrtwostore[$k]<=400) {$W3=2;} else {$W3=5;} if ($pos >= 4) { $W5=1; } elsif ($pos >= 2) { $W5=2; } else { $W5=5; } $netquality[$tak1]=$W1*$quality[$tak1]+$W2*$calqfour[[$tak2]+$W3+$W4+$ +W5+$W6; $calstoreone[$tak1]=$calqone[$tak2]; $calstoretwo[$tak1]=$calqtwo[$tak2]; $calstorethree[$tak1]=$calqthree[$tak2]; $calstorefour[$tak1]=$calqfour[$tak2]; goto FIRSTLOOP; } } } FIRSTLOOP: } print ("\n here the actual test starts i.e. comparison etc.....\n" ); } NEXTLINETWO: } LABELEND: pgend; print("\n this is the end of the programme\n"); sub gencalfn { local(@complex,$temp,$calib1,$val1,$val2,$tempx,$tempy,@tempxy,$val3,$ +calib2,$comparison,$val4); @complex=("1a","2b","3c","4d","5e","6f","7g","8h","9i","10j","11k","12 +l","13m","14n","15o","16p","17q","18r","19s","20t","21u","22v","23w", +"24x"); $calib1=$_[0]; $comparison=$_[1]; for ($temp=0;$temp<=3;$temp++) { chop($calib1); } $tempx=chop($calib1);print"\n $tempx==",$tempx; $tempy=chop($calib1);print"\n tempy==",$tempy; @val1=grep(/\d{1,2}$tempx/,@complex);print "\n val1==",$val1[0]; @val2=grep(/\d{1,2}$tempy/,@complex);print "\n val2==",$val2[0]; @val3=grep(/\d{1,2}$comparison/,@complex);;print "\n val3==",$val3[0]; chop($val1[0]);chop($val2[0]);chop($val3[0]);print "\n ",$val1[0]," ",$val2[0]," ",$val3[0]; if ($val1 <3) {$val4=$val1+24-$val3;} elsif ($val1>$val3) {$val4=$val1-$val3;} if ($val2>$val4) { $val=$val2-$val4; @tempxy=grep(/$val\S/,@complex);print "\n ttt",$tempxy[0]; $tempxy[0]=chop($tempxy[0]);print "\n ttsfgsft=",$tempxy[0]; $tempxy[0]=$tempxy[0].$comparison;print "\n tttdjeo--=",$tempxy[0]; $calib2=$calib1.$tempxy[0]."1.1d"; } else{ if ($val1<$val3) {$val4=$val3-$val1;} elsif($val1>$val3) {$val4=24-$val1+$val3;} $val=$val2+$val4; @tempxy=grep(/$val\S/,@complex);print "\n ttt",$tempxy[0]; $tempxy[0]=chop($tempxy[0]);print "\n ttsfgsft=",$tempxy[0]; $tempxy[0]=$tempxy[0].$comparison;print "\n tttdjeo--=",$tempxy[0]; $calib2=$calib1.$tempxy[0]."1.1d"; } return ($calib2); } sub get_RAdiff_forsun{ local($jd,@daya_in_month,@avg_for_month;$RA,$change_in_jd,$shift_in_ye +ars,$comp,$value,$jd1,$jd2,$jd3,$jdtemp,$hourdiff,@arrcomp); @arrcomp=("1a","2b","3c","4d","5e","6f","7g","8h","9i","10j","11k","12 +l","13m","14n","15o","16p","17q","18r","19s","20t","21u","22v","23w", +"24x"); $comp=$_[0]; $jdtemp=$_[1]; for ($ltemp=0;$ltemp<=8;$ltemp++) {chop($jdtemp);} $jd3=chop($jdtemp); $jd2=chop($jdtemp); $jd1=chop($jdtemp); $jd=$jd1.$jd2.$jd3; @days_in_month = (31,28,31,30,31,30,31,31,30,31,30,31); @avg_for_month = (254,234,220,225,236,247,240,225,216,223,244,254) +; #$jd = "244" . "$jd" if( $jd >= 9000 ); #$jd = "245" . "$jd" if( $jd < 9000 ); $RA = 67434.075 ; #right ascension of sun on 1st January,1995. $change_in_jd = $jd - 2449717.5; $shift_in_years = 0; if($change_in_jd >= 365 && $change_in_jd <= 730) { $shift_in_years = 1; $change_in_jd = $change_in_jd - 365; $RA = $RA - 60; $days_in_month[1] = 29; } if($change_in_jd > 730) { $change_in_jd = $change_in_jd - 731; $shift_in_years = 2 + (int($change_in_jd / 365)); $change_in_jd = $change_in_jd % 365; $RA = $RA + 240 - ($shift_in_years * 60); } for($i=0;$i<12;$i++) { if($change_in_jd > $days_in_month[$i]) { $RA = ($RA + ($days_in_month[$i]*$avg_for_month[$i])) % 8640 +0; $change_in_jd = $change_in_jd - $days_in_month[$i]; } else { $RA = ($RA + ($avg_for_month[$i]*$change_in_jd)) % 86400; } } $value=(grep(/\d{1,2}$comp/,@comp))-0.5; if ($RA >$value) { $hourdiff=$RA-$value;} else{$hourdiff=$value-$RA;} return($hourdiff); }

janitored by ybiC exeedingly post-facto: Balanced <readmore> and <code> tags around long codeblock


In reply to debug the error!! by vnpandey

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (3)
As of 2024-04-25 06:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found