use strict; use warnings; open(FIN,"perl.exe") or die "cant open file\n"; my $sum = 0; my $c; while (read(FIN, $c, 1)) { if ($c) { (ord($c) & 0x01) && ($sum++); (ord($c) & 0x02) && ($sum++); (ord($c) & 0x04) && ($sum++); (ord($c) & 0x08) && ($sum++); (ord($c) & 0x10) && ($sum++); (ord($c) & 0x20) && ($sum++); (ord($c) & 0x40) && ($sum++); (ord($c) & 0x80) && ($sum++); } } print "$sum bits are set\n";