############## #processfile.pl ############## use Fruits; #using a pm file here. $filehandle = "logfile.isf"; my $packets=[0AA0,0FFA]; my obj= new Fruits($filehandle, $packets); my $numApplepackets= $obj->{records}->{0AA0}->{totalRecords}; my $numBananapackets= $obj->{records}->{0FFA}->{totalRecords}; my BananaNum; my fruitobj; for($BananaNum=1; $BananaNum le $numBananapackets; $BananaNum++){ $fruitobj = $obj->parse0FFA($BananaNum); for(my $j=0;$j<2;$j++){ if($obj->{$j}->{rxABC} > -100){ print "Found"; } } } ############# #Fruits.pm ############# sub parse0FFA{ my $self=shift; my $i=shift; my $size=$self->{records}->{0FFA}->{totalRecords}; my $len=$self->{records}->{0FFA}->{$i}->{_length}; my $data=$self->{records}->{0FFA}->{$i}->{_data}; my ($obj,$tmp,$j); $obj->{timestamp}=$self->{records}->{0FFA}->{$i}->{_timestamp}; for($j=0;$j<2;$j++){ $len=$len-13; ($tmp, $obj->{$j}->{txABC},$obj->{$j}->{txDEF},$obj->{$j}->{txGHI}, $obj->{$j}->{txJKL}, $obj->{$j}->{rxABC}, $obj->{$j}->{rxDEF}, $data)=unpack("C v v v v v v a$len",$data); $obj->{$j}->{State} = int($tmp/32); $obj->{$j}->{Mode} = int($tmp/16); if($obj->{$j}->{txABC} >= 2*5){ $obj->{$j}->{txABC} -= 2*16;} $obj->{$j}->{txABC} /= 256; if($obj->{$j}->{txDEF} >= 2*5){ $obj->{$j}->{txDEF} -= 2*16;} $obj->{$j}->{txDEF} /= 256; if($obj->{$j}->{txGHI} >= 2*5){ $obj->{$j}->{txGHI} -= 2*16;} $obj->{$j}->{txGHI} /= 256; if($obj->{$j}->{txJKL} >= 2*5){ $obj->{$j}->{txJKL} -= 2*16;} $obj->{$j}->{txJKL} /= 256; if($obj->{$j}->{rxABC} >= 2*5){ $obj->{$j}->{rxABC} -= 2*16;} $obj->{$j}->{rxABC} /= 256; if($obj->{$j}->{rxDEF} >= 2*5){ $obj->{$j}->{rxDEF} -= 2*16;} $obj->{$j}->{rxDEF} /= 256; } return $obj; } #################END #### my $numApplepackets= $obj->{records}->{0AA0}->{totalRecords}; #### for($BananaNum=1; $BananaNum le $numBananapackets; $BananaNum++){ $fruitobj = $obj->parse0FFA($BananaNum); for(my $j=0;$j<2;$j++){ if($obj->{$j}->{rxABC} > -100){ print "Found"; } } } #### for($j=0;$j<2;$j++){ $len=$len-13; ($tmp, $obj->{$j}->{txABC},$obj->{$j}->{txDEF},$obj->{$j}->{txGHI}, $obj->{$j}->{txJKL}, $obj->{$j}->{rxABC}, $obj->{$j}->{rxDEF}, $data)=unpack("C v v v v v v a$len",$data);