test.cgiに
#! /usr/bin/perl
print "test";
exit;

hoge.shtmlに
<!--#exec cmd="./test.cgi" -->
と書くと期待通りにtestと表示されます。

<!--#exec cmd="./test.cgi" -->
と書くと何も表示されません。

<!--#exec cmd="./test.cgi">
や
<!--#exec cgi="./test.cgi">
と書くと[an error occurred while processing this directive]と表示されます。

この違いはどうして起こるのでしょうか?
#exec cgiを使いたいのですが、何が原因か解らず困っています。
何かアドバイスをお願いします。