You may already be aware that it is possible to prod CGI into emitting a reference to an external style sheet. For that you have to do the following...
use CGI qw/Link/;
... because the Link method is not exported by default. Once you have done this you can then say:
print $q->start_html({
-head=>Link({-rel=>'stylesheet', -type=>'text/css', -href=>'/foo.c
+ss'}),
});
And when you look at the HTML you'll see something like <link type="text/css" rel="stylesheet" href="/foo.css" />. I ran into the situation today where I had to include two stylesheets, and the following didn't work:
print $q->start_html({
-head=>Link([
{-rel=>'stylesheet', -type=>'text/css', -href=>'/foo.css'},
{-rel=>'stylesheet', -type=>'text/css', -href=>'/bar.css'},
]),
});
That is, the transitive array reference [ ] trick doesn't work for the Link method. After trying a couple of things out, it turns out that a brute force method below works fine.
This node is dedicated to wil. :)
print $q->start_html({
-head=>Link({-rel=>'stylesheet', -type=>'text/css', -href=>'/foo
+.css'})
. Link({-rel=>'stylesheet', -type=>'text/css', -href=>'/bar.cs
+s'}),
});