Le langage Perl permet de gérer les chaînes de caractères.
Comme il s'agit d'une langage ancien, il a d'abord été conçu pour gérer les anciens codages de textes (ASCII, iso-8859-"x", etc.).
Le langage Perl s'adapte tout de même à son époque, et il est en particulier possible de traiter des textes Unicode.
Si vous ne connaissez pas Unicode, vous pouvez le découvrir avec le livre À la découverte d'Unicode.
Des pages de manuels de Perl sont dédiées à l'Unicode, comme perlunicode ou perluniintro.
Fonctions de manipulation des chaînes.
use strict;
use warnings;
my $chaine="babebibobu";
print substr($chaine,4,2)."\n"; # bi
$chaine="babebibobu";
print substr($chaine,4,-2)."\n"; # bibo
$chaine="babebibobu";
print substr($chaine,-7,2)."\n"; # eb
$chaine="babebibobu";
print substr($chaine,-7,-1)."\n"; # ebibob
$chaine="babebibobu";
substr($chaine,2,4,"XX");
print $chaine."\n"; # baXXbobu
$chaine="babebibobu";
substr($chaine,2,2,"");
print $chaine."\n"; # babibobu
$chaine="babebibobu";
substr($chaine,4,0,"YY");
print $chaine."\n"; # babeYYbibobu
$chaine="babebibobu";
substr($chaine,0,0,"PREF_");
print $chaine."\n"; # PREF_babebibobu
$chaine="babebibobu";
substr($chaine,length $chaine,0,"_SUFF");
print $chaine."\n"; # babebibobu_SUFF
$chaine="babebibobu";
substr($chaine,2,3)="XX";
print $chaine."\n"; # baXXibobu
$chaine="babebibobu";
substr($chaine,6,0)="YY";
print $chaine."\n"; # babebiYYbobu
$chaine="babebibobu";
substr($chaine,2,6)="";
print $chaine."\n"; # babu
$chaine="babebibobu";
substr($chaine,0,0)="PREF_";
print $chaine."\n"; # PREF_babebibobu
$chaine="babebibobu";
substr($chaine,length $chaine,0)="_SUFF";
print $chaine."\n"; # babebibobu_SUFF
use strict;
my $chaine="babebibobu";
print length $chaine; # 10
print "\n";
my $chaine2="àâéèêëîïôùûçœæ";
print length $chaine2; # 28
print "\n";
print length "\t"; # 1 = UNE tabulation
print "\n";
print length "\\\n"; # 2 = une \ littéralement + un retour de chariot
print "\n";
print length "devant".substr($chaine,-7,-1)x 3 ."derrière\n".sprintf ("%.5f",6/7) ; # 41 dont devant = 6 ; eBIboB x 3 = 18 ; derrière\n = 10 (è = 2) ; 0.85714 = 7 caractères
print "\n";
use strict;
my $chaine="BaBeBiBOBU";
print lc "$chaine.\n"; # babebibobu
my $chaine2="fichier.TXT";
print ucfirst substr( $chaine2,0,-4). lc substr( $chaine2,-4,4)."\n" ;# Fichier.txt
use strict;
my $chaine="BaBeBiBOBU";
print uc $chaine."\n"; # BABEBIBOBU
use strict;
my $chaine2="Cornélien";
print lcfirst $chaine2."\n"; # cornélien
use strict;
my $chaine="corneille";
print ucfirst $chaine."\n"; # Corneille
my $chaine2="corneille, (auteur du cid.)";
print ucfirst substr( $chaine2,0,-5). ucfirst substr( $chaine2,-5,5)."\n" ; # Corneille, (auteur du Cid.)
Il est utilisé surtout pour effacer les \n ("entrées" ou Carriage Return).
use strict;
my @tableau = ( "a\n" , "b\n", "c\n" );
print @tableau; # a b c sur 3 lignes distinctes
chop @tableau;
print @tableau; # abc accolés : les \n ont disparu
print "\n";
my @tableau2 = ( "vaches" , "veaux" );
print chop @tableau2;# le x de "veaux"
print "\n";
print @tableau2;# vacheveau
print "\n";
use strict;
open ( Descr0,'>','./cobaye') or die ("écriture impossible $!");
print Descr0 "premier\ndeuxieme\ntroisieme\n";
close(Descr0);
open (Descr1,'<','./cobaye') or die ("ouverture impossible $!");
while(defined (my $ligne = <Descr1> ) ){
 print $ligne;
open (Descr2,'<','./cobaye') or die ("ouverture impossible $!");
while(defined ( my $ligne = <Descr2> ) ){
 chomp $ligne;
 print $ligne;
close(Descr2);
close(Descr1);
print "\n";
use strict;
my @tableau = qw(premier deuxieme troisieme quatrieme);
print reverse @tableau; # quatriemetroisiemedeuxiemepremier
print "\n";
my $envers= reverse $tableau[2];
print $envers;# emeisiort

Astrologie
Introduction.
Astronomie : du grec "nomos" loi, cf nomographie
Astrologie : du grec "logos" raison cf logique
"Science sans conscience n'est que ruine de l'âme" (Rabelais, dans "Pantagruel")

Astrologie/Les différents facteurs astrologiques

Astrologie/Les différents facteurs astrologiques/Les Signes