the results are as follows......I don't see why the last two values can not have a string returned for themx.x.nas.6.9.1.1.40.1001 = 1134468706 x.x.nas.6.9.1.1.14.1001 = 9 x.x.nas.6.9.1.1.13.1001 = 16 x.x.nas.6.9.1.1.12.1001 = 16 x.x.nas.6.9.1.1.40.1001 = 1134468706 x.x.nas.6.9.1.1.14.1001 = 34 x.x.nas.6.9.1.1.13.1001 = 19 x.x.nas.6.9.1.1.12.1001 = 30 x.x.nas.6.9.1.1.40.1001 = 1134485731 x.x.nas.6.9.1.1.14.1001 = 45 x.x.nas.6.9.1.1.13.1001 = 16 x.x.nas.6.9.1.1.12.1001 = 16 x.x.nas.6.9.1.1.40.1001 = 1134485731 x.x.nas.6.9.1.1.x.x = 9 #!/perl/bin open (In,"tasco2.log") or die ("can not open file "); open (Out,">tasfinrpt.txt") or die ("cannot open output file maybe you + should create one"); #print "\n\n Session id Modulation \n\n"; #$firstlineFlag = 1; $sessid= 100; $modtyplast =1; $modtypv34 = "V34"; my $sessidlast ; while (my $line = ) { @temp = split (/[=]/, $line); if ($temp[1] > $sessid) { $sessid =$temp[1]; chomp $sessid; print "\n $sessid "; } if ($temp[1] < 100){ $modtyp = $temp[1]; } if ($modtyp ne $modtyplast&&($sessid ne $sessidlast)){{ print " "; if ($modtyp == 9){ print "no connect"; # goto $breakp; } if ($modtyp == 20) { print "V34"; } elsif($modtyp == 34){ print " V90 digital"; } if ($modtyp == 45){ print " V92 PCM Upstream"; } elsif ($modtyp == 44){ print " 50666bps"; } # elsif ($modtyp == 28){ # print " 29333bps\n "; # } elsif ($modtyp == 31){ print " 33333bps "; } elsif ($modtyp == 18){ print "21Kbps "; } # elsif ($modtyp == 21){ # print " 28Kbps"; # } elsif ($modtyp == 43){ print " 49333\n"; } elsif ($modtyp == 39){ print "44Kbps\n"; } elsif ($modtyp == 40){ print "45333bps"; } } breakp: $modtyplast = $modtyp; $sessidlast = $sessid ; # } }
The idea of the script is to create an array for each line in the file and then depending on whether is comes a cross an a different value for an element it either executes the next few lines of the script or reads in the next line of the file etc etc etc I have tried to break from the script if it came across the the same value and return to the top but could not get it working properly any ideas thanks /splat1134468706 no connect 1134485731 1134502756
Edit davorg: Added code tags
In reply to executing the following lines of a script if the value of an elemnt in an array changes by splatohara
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |