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'}),
    });
Replies are listed 'Best First'.
Re: Using two external style sheets in a CGI.pm script
by parv (Vicar) on Jan 29, 2003 at 01:16 UTC
    hey grinder, i had the exactly same problem but didn't bother to solve/workaround the problem. thanks for your work.