▁version ▁( 6 ▁lines ) ▁and ▁a ▁fast ▁version ▁( 7 ▁lines ). ▁Both ▁appear ▁below . ▁ ▁Short : ▁#!/ usr / bin / perl ▁# ▁ 4 7 2 - byte ▁q rp ff , ▁Keith ▁Win stein ▁and ▁Marc ▁Hor ow itz ▁< s ip b - ia p - d vd @ mit . edu > ▁# ▁M PE G ▁ 2 ▁PS ▁V OB ▁file ▁-> ▁desc ram bled ▁output ▁on ▁stdout . ▁# ▁usage : ▁perl ▁- I ▁< k 1 >: < k 2 >: < k 3 >: < k 4 >: < k 5 > ▁q rp ff ▁# ▁where ▁k 1 .. k 5 ▁are ▁the ▁title ▁key ▁bytes ▁in ▁least ▁to ▁most - sign ific ant ▁order ▁ ▁s '' $ / =\ 2 0 4 8 ; while ( <> ){ G = 2 9 ; R = 1 4 2 ; if (( @ a = un q T =" C * ", _ )[ 2 0 ] & 4 8 ){ D = 8 9 ; _ = un q b 2 4 , q T , @ ▁b = map { ord ▁q B 8 , un q b 8 , q T , _ ^ $ a [ -- D ]} @ IN C ; s / ... $ / 1 $ & / ; Q = un q V , q b 2 5 , _; H = 7 3 ; O =$ b [ 4