2010-12-09 74 views
2

Si je crée deux chaînes de style, comme siPerl CGI. Puis-je être sûr de l'ordre de <style> tags que j'utilise?

my $style =<<'EOF'; 
<-- @import url("foo.css"); --> 
EOF 

my $style2 =<<'EOF'; 
<-- #thing_in_foo.css_that_I_want_to_override a {attributes;} --> 
EOF 

Et je voudrais les inclure dans start_html comme ceci:

print $q->start_html({ 
    -style => [ 
      {-code=>$style}, 
      {-code=>$style2} 
]); 

ou une telle.
L'objectif à long terme est de sous-classer le module CGI avec un tas de défauts. Je veux que l'utilisateur passe quelques références de hachage supplémentaires à l'objet, comme suit:

my $q = subCGI->new({-code=>$style2}); 

L'objet au sein de construire les paramètres de START_HTML, et je voudrais mettre cette référence de hachage dans le tableau de style. Je prévois d'en avoir déjà là-bas; l'intention est que l'utilisateur passe tout css dans le paramètre new() de telle sorte qu'il cascade sur les valeurs par défaut.

J'espère que cela a du sens.

+6

Pourquoi êtes-vous même faire cela? Les clés dans un hash ref sont uniques, donc l'une va écraser l'autre (donc vous n'incluez pas deux éléments de style). Si vous souhaitez inclure deux instructions '@ import', vous pouvez le faire dans un seul élément'