http://www.perlmonks.org?node_id=230652
Description:

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'}),
    });