#!/usr/bin/perl my @sigbits; while (<>) { if (/gpio=0x(\w+)/) { my $bin = sprintf("%b",hex $1); print $bin."\n"; my $pos = 0; while ($bin) { my $a = substr($bin,-1,1,''); if ($a) { $sigbits[$pos] = $a; } $pos++; } } } my $sigbits; foreach my $bit (@sigbits) { $sigbits=$sigbits.$bit; } print "Significant bits: $sigbits (".sprintf("0x%x",oct("0b$sigbits")).")\n";