Показать сообщение отдельно

  #2  
Старый 16.04.2007, 16:18
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

Код:
sub printPacket
{ 
    my $rawPacket=shift;
    my($tHex,$tLine,$counter,$tCounter,$bStart);
    my @R_Packet=split('',$rawPacket);
    $tCounter=scalar @R_Packet;
    foreach(0..($tCounter-1))
    {
        $counter++;
        print uc unpack('H2',$R_Packet[$_]).' ';
        if(ord $R_Packet[$_]>=32) { $tLine.=$R_Packet[$_] }
        else { $tLine.='.' }
        if($counter%16==0)
        {
            print "  $tLine\n";
            $tLine=undef;
        }
    }
    while($counter>16) { $counter-=16 }
    if(16-$counter>1&&$counter>0)
    {
        foreach(1..(16-$counter)) { print  ' ' x 3 }
        print  "  $tLine\n";
    }
    print  '['.$tCounter;
    print $tCounter>1?" bytes]\n\n":" byte]\n\n";    
}
 
Ответить с цитированием