#!/usr/bin/perl -w
# script permettant de lister un repertoire dans un format HTML *
# usage: dir_h -c <repertoire>                                  *
# option -c pour complet affiche poid et date et permissions    *
# Ce script fonctionne - mettre un format en sortie (esthétique)*
# écris par alain Adelmar v:1.2       du 5/11/03                *
#****************************************************************
$x= "X*" x 15; 
$rappel= "\nusage: dir_h -c <repertoire\>\t\#(nom complet du repertoire voulu)\n";
$ddef= "En l'absence d'arguments le dossier courant sera traiter\n";
$err1 = "erreur de la banque en votre faveur, recever 15000\n";
$c = 0;
$file="";

if (@ARGV) {
  ($c = 1) if ($ARGV[0]=~ /^-/);
  $dir = $ARGV[1];
}
else {
  print "$rappel" . "$x\n$ddef";
  $dir = "\.\\";
}

unless(-d $dir) {
  print "le repertoire $dir n'existe pas, veuillez entrer un path correct\n";
  $dir = <STDIN>;
  chomp $dir;
}

opendir (DIR,"$dir") or die "Overture de $dir impossible $!";
@files = (sort readdir(DIR));
closedir (DIR) || die "$err1 $!";

$fout = "dir.html";

open F, ">$fout" or die "Ouverture de dir_html impossible $!";
$tagini = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">' . "\n<html\>\n\t<head\>\n\t\t<title\>R&ecute:p&ecute:rtoire courant<\/title\>\n\t<\/head\>\n\t<body\>\n";
print F $tagini;
print "Contenu du r&ecute:p&ecute:toire $dir:\n";

foreach $filename(@files) {
  if ($c == 1) {
    $file = "$dir" . "\/$filename";
    @sf = stat($file);
    print F "<a href=\"$file\"\>" . "$filename" . "<\/a\>   permission:$sf[2]...taille:$sf[7]  Date: $sf[8]
\n";
    print F "<br\>\n";
  }
  else {
    print F "$filename\n";
    print F "<br\>\n";
  }
}

$tagout = "\n\t<\/body\>\n";
print F $tagout;
close F;

END;
