my $id = pack('B16', '0000000000000000');
my $flg_binary = sprintf("%d%04d%d%d%d%d%03d%d", 0, 0, 0, 0, 1, 0, 0, 0);

my $flg = pack("B16", $flg_binary);

my $question_count = pack('n', 1);
my $response_count = pack('n', 0);
my $auth_count = pack('n', 0);
my $ext_count = pack('n', 0);

my $query_name = "wwwyahoocojp";

my $query_type = pack('n', 1);
my $query_class = pack('n', 1);

my $question = $query_name.$query_type.$query_class;

my $request = $id.$flg.$question_count.$response_count.$auth_count.$ext_count.$question;


というプログラムで最後の行の$requestの中身が知りたいのですが、
print "request = $request\n";
と最後に追加して実行すると下記のように表示されます。
request = wwwyahoocojp

プログラムの流れを見ていると、
もっといろいろ付加されているように思われるのですが、
$query_nameの値しか反映されておりません。
どこに問題があるか分かる方いらっしゃいますか。
分かるようでしたら教えてください。よろしくお願いします。