#!/usr/bin/perl -w # remd: transformer un texte avec des chapitres numeroté en fichier html * # avec des liens (pour Linux ) - alain Adelmar 18.03.2001~ 06.12.2003 v2 * # -idée possible de traiter le mail => HTML (objet=titre dynamiques) * #************************************************************************* # voir le nom de fichier pour les liens entre XWindow et copie_xwind use Cwd; $dir = cwd; $id = 0; $x = "x" x 25; # mettre en variable les incontournables___ $p_s_s = 'précédant | suivant | sommaire'; $li = '
  • '; $lblhtm = '' . "\n" . ''; $lblhtmo = ''; $h_ref = '' . "$line" . '' . "\n"; $ancre_in = '

    <\/A\>"; LABEL_TOP:print "Entrez le nom du fichier à traiter:\n"; chomp($file = ); ## sortir le path du filename #$road66 = $filename = $file; #$road66 =~ s/()\/\w+\.\w{3,4}$/$1/i; #$filename =~ s/^.+\/\b()\.\w{3,4}/$1/; # sortir le path du fichier ouvert @rep = split(/\//, $file); $filename = pop @rep; # nom du fichier seul $rep = join('/', @rep); # rep de travail #------------------------------------ if (-e $file) { @statfilename = stat($file); $df = localtime($statfilename[8]); $crt = "$x\n Rapport du contenu de $file : $df \n"; print "$crt"; } else { print "Erreur, le fichier $file n\'existe pas\n"; goto LABEL_TOP; } # lit le fichier et met son contenu dans une variable liste open F, "$file" or die "Ouverture de $file impossible $!"; @contenu = ; close F or die "Fermeture impossible: $file $!"; # fait une copie pour pouvoir travailler sans faire de dégas (la copie doit avoir un nom propre et/ou un numero particulier) $copieID = "copie_" . "$filename" . "_$id" . "\.html"; $full_copieID ="$rep" . "\/" . "$copieID"; #($copie, $ext) = split(/\./, $copieID); #($lbl, $id) = split(/_/, $copie); while (-e $full_copieID) { #$id++; donne_un_nom($copieID); $copieID = "copie_" . "$copieID"; $full_copieID ="$rep" . "\/" . "$copieID"; } open COPF, ">$copieID" or die "Ouverture de $copieID impossible: $!"; print COPF $lblhtm; print COPF @contenu; print COPF $lblhtmo; close COPF or die "Re_merde c\'est quoi encore $!"; # definir le fichier tmp en lui donnant un nom, un num et un rep (/tmp/tmp/): ($filetmp, $ext) = split(/\./, $filename); #($lbl, $id) = split(/_/, $filetmp); $ftmp = "$filetmp" . "\.html"; $fulltmp = "$rep" . "\/" . "$ftmp"; while (-e $fulltmp) { # $id++; donne_un_nom($ftmp); $fulltmp = "$rep" . "\/" . "$ftmp"; } $tmpdir = "\./tmp"; if (!(-d $tmpdir)) { mkdir $tmpdir; } $filetmp = "$tmpdir" . "\/" . "$copieID"; open CT, ">$filetmp" or die "Ouverture de $filetmp impossible $!"; print CT $lblhtm; foreach $line(@contenu) { next if ($line =~ /^' . "$line" . '</h1>'; } elsif ($line=~ /^\d{1,2}\.\d{1,2}\s/) { $lignetitre = $line; # au cas ou pourra remplacer la merde plus bas ($numbrut, $ttchap) = split(/\s/, $line, 1); ($nump, $nums)= split(/\./, $numbrut); $i++; #numero me servant au classement if ($nums ne 0) { $tt_actif_tab = "$li" . '

    ' . "$line" . '

    ' . "\n"; $tt_actif_s = "$li" . '

    ' . "$line" . '

    ' . "\n"; print CT $tt_actif_tab; push @nwcontenu, $tt_actif_s; next; } else { $tt_actift_tab = "$li\t" . '

    ' . "$line" . '

    ' . "\n"; $tt_actift_s = "$li" . '

    ' . "$line" . '

    ' . "\n"; print CT $tt_actift_tab; push @nwconten#!/usr/bin/perl -w # remd: transformer un texte avec des chapitres numeroté en fichier html * # avec des liens (pour Linux ) - alain Adelmar 18.03.2001~ 06.12.2003 v2 * # -idée possible de traiter le mail => HTML (objet=titre dynamiques) * #************************************************************************* # voir le nom de fichier pour les liens entre XWindow et copie_xwind use Cwd; $dir = cwd; $id = 0; $x = "x" x 25; # mettre en variable les incontournables___ $p_s_s = '