[Perl] Ajouter en fin de ligne d'une variable

Résolu
Bonjour,

J'ai dans un script, une variable $texte
my $texte = <<EOF
ligne1
lige2
ligne3
...
EOF
;

Je souhaiterai, à la fin de chaque ligne, y ajouter soit un \n, soit la balise <br>
Car ce texte a pour vocation, d'être soit enregistré dans un fichier, d'où le \n, ou consulté sur une page HTML, d'où le <br>

J'ai essayé de chercher du coté d'un open(), mais sans succès
(J'ai probablement du mal chercher, car je pense que la solution doit être de ce côté)

Je vous remercie d'avance d'éclairer ma lanterne

3 réponses

  1. Salut,

    my $fin_de_ligne = "\n"; # ou "<br>
    
    my $texte = "
    ligne 1
    ligne 2
    ligne 3
    ...
    $fin_de_ligne
    ";
    


    Ciao
    0
    1. Modérateur
      Salut,

      le \n existe déjà dans la variable

      lami20j@debian:~/trash$ cat texte.pl
      #!/usr/bin/perl
      use strict;use warnings;
      
      open TEXT ,">texte.txt"  or die "E/S : $!\n";
      open HTML ,">texte.html" or die "E/S : $!\n";
      
      my $texte = <<EOF
      ligne1
      lige2
      ligne3
      ...
      EOF
      ;
      
      print TEXT "$texte";
      
      (my $html = $texte) =~s/\n/<br>/g;
      print HTML "$html";
      __END__
      lami20j@debian:~/trash$ perl texte.pl
      lami20j@debian:~/trash$ cat texte.txt
      ligne1
      lige2
      ligne3
      ...
      lami20j@debian:~/trash$ cat texte.html
      ligne1<br>lige2<br>ligne3<br>...<br>

      0
      1. Merci beaucoup pour le coup de main !
        0