さっそくやってみますた。

$dot_qmail_path = "/home/$user_name/.qmail";
print "$dot_qmail_path" . "<BR>";
if ($user_name eq 'hogehoge') {
print '合ってる<BR>';
} else {
print '間違ってる<BR>';
}
if ( -r "$dot_qmail_path" && -w "$dot_qmail_path" ) {
open( QMAIL , ">>$dot_qmail_path" ) || &Error_Print('09',$!);
print QMAIL "aaaaaaaaaa\n";
close(QMAIL);
print 'ここまできてる?<BR>';
}

と、してみたところ、

ブラウザには
/home/hogehoge/.qmail
合ってる

と出たので、ユーザー名、パスに誤りはないと思います。

さいごのprint文の「ここまできてる?」
はブラウザに表示されませんでした。

ちなみに、このcgiのパーミッションを4755としているのには、/etc/shadowファイルを
オープンさせるために、「とりあえず」、このようにしています。

あと、変数名にセンスが感じられないのはご愛嬌でお願いします。