Dirlist-prog tilpasning
Okay, gals 'n' boys... så fortsætter føljetonen om mit "directory listing"-script!Jeg vil gerne have lavet følgende ændringer:
1) Når den lister dir'en alfabetisk, skal den OGSÅ kunne klare æ, ø og å. Pt. lister den nævnte tegn først i stedet for sidst.
2) Når den dumper listen ud, skal den skrive det i TO rækker. Altså: hvis der er fire entries, så skal de skrives så ledes:
*********** **************
*********** **************
Scriptet ser således ud:
#!/usr/bin/perl
opendir(DIR, '/hotel/movieboxen/WWW/arkiv/html');
@Files = readdir(DIR);
closedir(DIR);
print "content-type: text/html\n\n";
print "<html><head>\n";
print "<script language=\"JavaScript\">\n";
print "<!--\n";
print "var img1onName, img2onName;\n";
print "// Find browser Netscape 3+ eller IE 4 +.\n";
print "bName = navigator.appName;\n";
print "bVer = parseInt(navigator.appVersion);\n";
print "if (bName == \"Netscape\" && bVer >= 3) {\n";
print "br = \"n3\";\n";
print "img1onName = \"http://www.movieboxen.dk/grafik/nyhedervalg.gif\";\n";
print "img2onName = \"http://www.movieboxen.dk/grafik/naesteugevalg.gif\";\n";
print "img4onName = \"http://www.movieboxen.dk/grafik/kalenderenvalg.gif\";\n";
print "img5onName = \"http://www.movieboxen.dk/grafik/arkivetvalg.gif\";\n";
print "img6onName = \"http://www.movieboxen.dk/grafik/kontaktosvalg.gif\";\n";
print "img7onName = \"http://www.movieboxen.dk/grafik/ommovieboxenvalg.gif\";\n";
print "img8onName = \"http://www.movieboxen.dk/grafik/linksvalg.gif\";\n";
print " }\n";
print " else if (bName == \"Microsoft Internet Explorer\" && bVer >= 4) {\n";
print " br = \"e3\";\n";
print " img1on = new Image();\n";
print " img1on.src = \"http://www.movieboxen.dk/grafik/nyhedervalg.gif\";\n";
print " img2on = new Image();\n";
print " img2on.src = \"http://www.movieboxen.dk/grafik/naesteugevalg.gif\";\n";
print " img4on = new Image();\n";
print " img4on.src = \"http://www.movieboxen.dk/grafik/kalenderenvalg.gif\";\n";
print " img5on = new Image();\n";
print " img5on.src = \"http://www.movieboxen.dk/grafik/arkivetvalg.gif\";\n";
print " img6on = new Image();\n";
print " img6on.src = \"http://www.movieboxen.dk/grafik/kontaktosvalg.gif\";\n";
print " img7on = new Image();\n";
print " img7on.src = \"http://www.movieboxen.dk/grafik/ommovieboxenvalg.gif\";\n";
print " img8on = new Image();\n";
print " img8on.src = \"http://www.movieboxen.dk/grafik/linksvalg.gif\";\n";
print " }\n";
print " else {\n";
print " br = \"n2\";\n";
print " }\n";
print "// Lav objekter og preload billeder.\n";
print " if ((br == \"n3\") || (br == \"e3\")) {\n";
print " img1off = new Image();\n";
print " img1off.src = \"http://www.movieboxen.dk/grafik/nyheder.gif\";\n";
print " img2off = new Image();\n";
print " img2off.src = \"http://www.movieboxen.dk/grafik/naesteuge.gif\";\n";
print " img4off = new Image();\n";
print " img4off.src = \"http://www.movieboxen.dk/grafik/kalenderen.gif\";\n";
print " img5off = new Image();\n";
print " img5off.src = \"http://www.movieboxen.dk/grafik/arkivet.gif\";\n";
print " img6off = new Image();\n";
print " img6off.src = \"http://www.movieboxen.dk/grafik/kontaktos.gif\";\n";
print " img7off = new Image();\n";
print " img7off.src = \"http://www.movieboxen.dk/grafik/ommovieboxen.gif\";\n";
print " img8off = new Image();\n";
print " img8off.src = \"http://www.movieboxen.dk/grafik/links.gif\";\n";
print " }\n";
print "// Aktiver billeder.\n";
print "function imgAct(imgName) {\n";
print " if (br == \"n3\") {\n";
print " document[imgName].src = eval(imgName + \"onName\");\n";
print " }\n";
print " else if (br == \"e3\") {\n";
print " document[imgName].src = eval(imgName + \"on.src\");\n";
print " }\n";
print "}\n";
print "// Deaktiver billeder.\n";
print "function imgInact(imgName) {\n";
print " if ((br == \"n3\") || (br = \"e3\")) {\n";
print " document[imgName].src = eval(imgName + \"off.src\");\n";
print " }\n";
print "}\n";
print "// -->\n";
print "</script>\n";
print "<style>\n";
print "body {font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 10pt;}\n";
print "td {font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 10pt;}\n";
print "a {text-decoration: underline; color: #0033CC}\n";
print ".overskrift {font-family: Arial, Helvetica, sans-serif; font-size: 12pt; font-weight: bold;}\n";
print ".underskrift {font-family: Arial, Helvetica, sans-serif; font-size: 8pt;}\n";
print "a:hover {color: #2D76FF}\n";
print "a:active {color: #DEE1FE}\n";
print "a:visited {color: #003399}\n";
print "</style>\n";
print "<META HTTP-EQUIV=\"Cache-Control\" CONTENT=\"no-store\">\n";
print "<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">\n";
print "<title>movieboxen.dk</title>\n";
print "</head>\n";
print "<body background=\"http://www.movieboxen.dk/grafik/baggrund.gif\" bgcolor=\"#205396\">\n";
print "<div align=\"center\">\n";
print " <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
print " <tr>\n";
print " <td width=\"37\" height=\"106\" valign=\"top\"> <IMG SRC=\"http://www.movieboxen.dk/grafik/topvideovenstre.gif\" USEMAP=\"#topvideovenstre\" BORDER=0 WIDTH=37 HEIGHT=106 onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\"></td>\n";
print " <td width=\"626\" valign=\"top\">\n";
print " <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
print " <tr valign=\"top\">\n";
print " <td colspan=4> <IMG SRC=\"http://www.movieboxen.dk/grafik/topvideohojre1.gif\" USEMAP=\"#topvideohojre1\" BORDER=0 WIDTH=97 HEIGHT=74><IMG SRC=\"http://www.movieboxen.dk/grafik/topvideohojre2.gif\" USEMAP=\"#topvideohojre2\" BORDER=0 WIDTH=214 HEIGHT=74><img src=\"http://www.movieboxen.dk/grafik/topvideohojre3.gif\" width=\"208\" height=\"74\"><img src=\"http://www.movieboxen.dk/grafik/topvideohojre4.gif\" width=\"17\" height=\"74\"><img src=\"http://www.movieboxen.dk/grafik/topvideohojre5.gif\" width=\"90\" height=\"74\"></td>\n";
print " </tr>\n";
print " <tr>\n";
print " <td width=\"113\" bgcolor=\"#FFFFFF\"> <IMG SRC=\"http://www.movieboxen.dk/grafik/bundvideovenstre.gif\" USEMAP=\"#bundvideovenstre\" BORDER=0 WIDTH=113 HEIGHT=82></td>\n";
print "<td bgcolor=\"#FFFFFF\" width=\"249\" align=\"center\">\n";
print "<A HREF=\"http://www.movieboxen.dk/cgi_bin/adban/zone1.pl?banner=NonSSI;page=01\"><IMG SRC=\"http://www.movieboxen.dk/cgi_bin/adban/zone1.pl?page=01\" border=0></A>";
print " </td>";
print " <td bgcolor=\"#FFFFFF\" width=\"249\" align=\"center\"> ";
print "<A HREF=\"http://www.movieboxen.dk/cgi_bin/adban/zone2.pl?banner=NonSSI;page=01\"><IMG SRC=\"http://www.movieboxen.dk/cgi_bin/adban/zone2.pl?page=01\" border=0></A>";
print " </td>";
print " <td bgcolor=\"#FFFFFF\" valign=\"top\" align=\"right\"><img src=\"http://www.movieboxen.dk/grafik/videobundhojre.gif\" width=\"15\" height=\"82\"></td>";
print " </tr>";
print " <tr background=\"http://www.movieboxen.dk/grafik/rasterbaggrund.gif\"> ";
print " <td colspan=4 height=\"27\" background=\"http://www.movieboxen.dk/grafik/rasterbaggrund.gif\"> ";
print " <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print " <tr> ";
print " <td height=\"27\" width=\"127\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/nyheder.shtml\" onmouseover=\"imgAct('img1'), window.status='Nyheder'; return true\" onmouseout=\"imgInact('img1'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/nyheder.gif\" border=\"0\" name=\"img1\" width=\"94\" height=\"27\"></a></div>";
print " </td>";
print " <td height=\"27\" width=\"208\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/naesteuge.shtml\" onmouseover=\"imgAct('img2'), window.status='Næste uges film'; return true\" onmouseout=\"imgInact('img2'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/naesteuge.gif\" border=\"0\" name=\"img2\"></a></div>";
print " </td>";
print " <td width=\"162\" height=\"27\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/kalenderen.phtml\" onmouseover=\"imgAct('img4'), window.status='Kalenderen'; return true\" onmouseout=\"imgInact('img4'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/kalenderen.gif\" border=\"0\" name=\"img4\"></a></div>";
print " </td>";
print " <td width=\"129\" height=\"27\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/arkivet.shtml\" onmouseover=\"imgAct('img5'), window.status='Tag et kig i arkivet'; return true\" onmouseout=\"imgInact('img5'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/arkivet.gif\" border=\"0\" name=\"img5\"></a></div>";
print " </td>";
print " </tr>";
print " </table>";
print " </td>";
print " </tr>";
print " </table>";
print " </td>";
print " <td width=\"37\">";
print " </td>";
print " </tr>";
print " </table>";
print "<!-- topslut --->";
print " <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print " <tr>";
print " <td height=\"400\" width=\"37\"> </td>";
print " <td height=\"400\" width=\"626\" bgcolor=\"#FFFFFF\">";
foreach $File (@Files)
{
if ($File =~ m/\.shtml$/ && $File ne 'index.shtml') {
$Text = "";
open (FILE, "</hotel/movieboxen/WWW/arkiv/html/$File");
while (<FILE>) {
$Text .= $_;
}
close FILE;
if ($Text =~ m/\<TITLE\>(.*?)\<\/TITLE\>/i) {$Caption = $1}
$titler{$Caption} = $File;
}
}
foreach $titel (sort(keys %titler)) {
print "<A HREF=http://www.movieboxen.dk/arkiv/html/$titler{$titel}>$titel</A><BR>\n";
}
print " </td>";
print " <td height=\"400\" width=\"37\"> </td>";
print " </tr>";
print " </table>";
print "<!-- bundstart --->";
print " <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print " <tr> ";
print " <td width=\"37\"> </td>";
print " <td width=\"626\" height=\"27\" background=\"http://www.movieboxen.dk/grafik/rasterbaggrund.gif\">";
print " <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print " <tr>";
print " <td width=\"132\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/kontaktos.shtml\" onmouseover=\"imgAct('img6'), window.status='Kontakt os'; return true\" onmouseout=\"imgInact('img6'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/kontaktos.gif\" border=\"0\" name=\"img6\"></a></div>";
print " </td>";
print " <td width=\"201\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/ommovieboxen.shtml\" onmouseover=\"imgAct('img7'), window.status='Om movieboxen.dk'; return true\" onmouseout=\"imgInact('img7'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/ommovieboxen.gif\" border=\"0\" name=\"img7\" width=\"183\" height=\"27\"></a></div>";
print " </td>";
print " <td width=\"84\"> ";
print " <div align=\"center\"><a href=\"http://www.movieboxen.dk/links.shtml\" onmouseover=\"imgAct('img8'), window.status='Links'; return true\" onmouseout=\"imgInact('img8'), window.status=''; return true\"> ";
print " <img src=\"http://www.movieboxen.dk/grafik/links.gif\" border=\"0\" name=\"img8\"></a></div>";
print " </td>";
print " <td width=\"195\"> </td>";
print " <td width=\"14\"> </td>";
print " </tr>";
print " </table>";
print " </td>";
print " <td width=\"37\"> </td>";
print " </tr>";
print " <tr>";
print " <td width=\"37\"> </td>";
print " <td width=\"626\">";
print " <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print " <tr>";
print " <td width=\"15\" height=\"27\" valign=\"bottom\" align=\"left\" bgcolor=\"#FFFFFF\"><img src=\"http://www.movieboxen.dk/grafik/bundvenstre.gif\" width=\"15\" height=\"27\"></td>";
print " <td bgcolor=\"#FFFFFF\" width=\"596\" height=\"27\" valign=\"bottom\"> ";
print " <div align=\"right\"> <span class=\"underskrift\"><font size=-2> ©";
print " movieboxen.dk 1999-2000</font></span></div>";
print " </td>";
print " <td width=\"15\" height=\"27\" bgcolor=\"#FFFFFF\"><img src=\"http://www.movieboxen.dk/grafik/bundhojre.gif\" width=\"15\" height=\"27\"></td>";
print " </tr>";
print " </table>";
print " </td>";
print " <td width=\"37\"> </td>";
print " </tr>";
print " </table>";
print "</div>";
print "<MAP NAME=\"topvideovenstre\"> <AREA SHAPE=poly COORDS=\"36,27,10,36,5,45,37,100,37,27,36,27\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> <MAP NAME=\"topvideohojre1\"> <AREA SHAPE=poly COORDS=\"0,27,84,0,97,17,97,74,0,74,0,27\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> <MAP NAME=\"topvideohojre2\"> <AREA SHAPE=poly COORDS=\"0,15,27,55,0,74,0,15\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> <MAP NAME=\"bundvideovenstre\"> <AREA SHAPE=poly COORDS=\"95,0,14,49,0,24,0,0,95,0\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> ";
print "</body>";
print "</html>";
Ta' jer ikke af den megen udenom-html...
