Try skipping the '-head' all together. You can include code in the -style section with the -code key. According to the CGI documentation "Style definitions in -code override similarly-named ones in -src", and hence come after the -src links by default.
print start_html({
-title => "title" ,
-style=>{
-src=>[ "/$common_css" , "/$css" , "/$common_cal_css" , "/$cal_css
+" ],
-code => '<!--[if IE]><link href="/ie.css" rel="stylesheet" type="
+text/css"><![endif]-->'
},
});
This results in
<head>
<title>title</title>
<link rel="stylesheet" type="text/css" href="/common.css" />
<link rel="stylesheet" type="text/css" href="/1680x1050-css.css" />
<link rel="stylesheet" type="text/css" href="/common_cal.css" />
<link rel="stylesheet" type="text/css" href="/1024x768-cal.css" />
<style type="text/css">
<!--/* <![CDATA[ */
<!--[if IE]><link href="/ie.css" rel="stylesheet" type="text/css"><![e
+ndif]-->
/* ]]> */-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1
+" />
</head>