Witam,
poniżej przedstawiam warunek if z aplikacji która analizuje zawartość pliku binarnego. Udało mi się przeanalizować większość programu jednak poniższe linie sprawiają mi kłopot

    if ($plik and ($sector == 2 or $sector == 3) and $j == 0 and substr($block,0,1) eq "\x10") {
my (undef,$ti,$ty,$tm,$td,$th,$tt,$vy,$vm,$vd,$vh,$vt,$vl,$vb,$vs)=unpack('A8 A8 A7 A4 A5 A5 A6 A7 A4 A5 A5 A6 A14 A6 A14 A10 A*',unpack('B*',$block));
print Dumper($tt,$ti,$ty,$tm,$td,$th,$tt,$vy,$vm,$vd,$vh,$vt,$vl,$vb,$vs);
 

wynik:
$VAR1 = '000011';
$VAR2 = '00000001';
$VAR3 = '0001101';
$VAR4 = '0000';
$VAR5 = '00000';
$VAR6 = '00000';
$VAR7 = '000011';
$VAR8 = '0001101';
$VAR9 = '0010';
$VAR10 = '10101';
$VAR11 = '01111';
$VAR12 = '110100';
$VAR13 = '00000000010111';
$VAR14 = '0000000110';
$VAR15 = '0000000000000000000000000000000000';

Zastanawiam się w jaki sposób dane są sortowane i które wartości binarne (pozycja w pliku) są wyświetlane w poszczególnych zmiennych?