I know this was asked quite a while ago, but I had the same problem today and spent hours looking for an answer. This is what worked for me:
If my cgi script is /var/cgi-bin/test.cgi, putting my style.css file in the same directory did not work. Apparently this makes it get treated like a script, which it isn't. I moved my style file to /var/www/styles/style.css and made it non-executable (but readable).
In a browser, I was able to see it at localhost/styles/style.css, so in my cgi script I referenced it as:
my $stylesheet = "/styles/style.css";
start_html(-style=>{'src'=>$stylesheet}),
....
Hope this is useful to someone else.
(The answer that helped me was found here: http://forums.devnetwork.net/viewtopic.php?f=1&t=113842)