BEGIN {
Instruction_1;
Instruction_2;
. . . . .
Instruction_n;
}
END {
Instruction_1;
Instruction_2;
. . . . .
Instruction_n;
}
| Programme fs1.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
BEGIN{
print ("Ligne imprimee par BEGIN.\n")
}
END{
print ("Ligne imprimee par END.\n")
}
die ("Ligne imprimee par die.\n");
|
c:\progs> perl fs1.plent
Ligne imprimee par BEGIN.
Ligne imprimee par die.
Ligne imprimee par END.
c:\progs>
|
| Programme fs2.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
BEGIN {
print ("Soyez les bienvenus.\n\n");
}
END {
print ("Merci de votre visite.\n\n");
}
AUTOLOAD {
print ("La fonction $AUTOLOAD\n");
print ("Dont les arguments sont :\n");
print ("@_\n");
print ("n'existe pas.\n\n");
}
print ("Debut du programme.\n");
print ("Appeler d'une fonction inexistante :\n");
print ("Nulle_Part(\"Ici\",\"et\",\"la\");\n\n");
do Nulle_Part("Ici","et","la");
|
c:\progs> perl fs2.plent
Soyez les bienvenus.
Debut du programme.
Appel d'une fonction inexistante :
Nulle_Part("Ici","et","la");
La fonction main::Nulle_Part
Dont les arguments sont :
Ici et la
n'existe pas.
Merci de votre visite.
c:\progs>
|
| Programme fs3.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
foreach $a (@INC) {
print ("$a\n");
}
|
c:\progs> perl fs3.plent
c:\perl\lib
c:\perl\site\lib
.
c:\progs>
|
push (@INC,"c:\progs\perl);
unshift (@INC,"c:\progs\perl);
c:\progs> type chchain.plent
#!/usr/bin/perl
$critere = "l";
$nl = 0;
$emplacement = 0;
$noccurences = 0;
$ligne = <>;
while ($ligne ne "") {
$nl++;
while (1) {
$emplacement = index($ligne, $critere, $emplacement);
last if ($emplacement == -1);
$noccurences++;
$emplacement++;
}
if ($noccurences != 0){
print ("Sur la ligne $nl\n");
print ("la chaine '$critere'\n");
print ("a été trouvée $noccurences fois.\n")
} else {
print ("Sur la ligne $nl\n");
print ("la chaine '$critere'\n");
print ("n'est pas présente.\n")
}
$ligne = <>;
$emplacement = 0;
$noccurences = 0;
}
"vrai";
c:\progs>
| Programme fs4.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
@ARGV =("Poeme.txt");
require ("chchain.pl");
|
c:\progs> perl fs4.plent
Sur la ligne 1, la chaine 'l' a été trouvée 1 fois.
Sur la ligne 2, la chaine 'l' n'est pas présente.
Sur la ligne 3, la chaine 'l' n'est pas présente.
Sur la ligne 4, la chaine 'l' a été trouvée 3 fois.
Sur la ligne 5, la chaine 'l' n'est pas présente.
Sur la ligne 6, la chaine 'l' a été trouvée 1 fois.
Sur la ligne 7, la chaine 'l' n'est pas présente.
Sur la ligne 8, la chaine 'l' a été trouvée 2 fois.
Sur la ligne 9, la chaine 'l' a été trouvée 1 fois.
Sur la ligne 10, la chaine 'l' n'est pas présente.
Sur la ligne 11, la chaine 'l' a été trouvée 1 fois.
Sur la ligne 12, la chaine 'l' a été trouvée 2 fois.
Sur la ligne 13, la chaine 'l' a été trouvée 1 fois.
Sur la ligne 14, la chaine 'l' n'est pas présente.
Sur la ligne 15, la chaine 'l' a été trouvée 3 fois.
Sur la ligne 16, la chaine 'l' a été trouvée 2 fois.
Sur la ligne 17, la chaine 'l' a été trouvée 1 fois.'
c:\progs>
|
# chchain.pl did not return a true value, <> chunk 17. File 'Home:Christian:Perl:MacPerl:CAT:req'; Line 3
push (@INC,"c:\progs\perl);
@requis = ("p1.pl", "p2.pl","p3.pl", "p4.pl");
foreach (@requis) {
require ($_);
}
print ("Code 1\n");
print ("Parametres transmis\n");
print ("@_\n");
"retour de code 1";
print ("Code 2\n");
print ("Parametres transmis\n");
print ("@_\n");
"retour de code 2";
| Programme fs5.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
AUTOLOAD {
$AUTOLOAD =~ s/main:://;
require ($AUTOLOAD.".pl");
}
unshift (@INC, "C:/prpl");
print ("Quel code execute-t-on 1 ou 2?\n");
chomp($n =
|
c:\progs> perl fs5.plent Quel code execute-t-on 1 ou 2? 1ent On appelle le code 1. Code 1 Parametres transmis 1 2 3 4 5 6 7 8 9 Message : retour de code 1 c:\progs> perl fs5.plent Quel code execute-t-on 1 ou 2? 2ent On appelle le code 2. Code 2 Parametres transmis a b c d e f g h i j Message : retour de code 2 c:\progs> |
require numero_de_version;
| Programme fs6.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl
require 5;
print ("La version est la bonne.");
|
c:\progs> perl fs6.plent
La version est la bonne
c:\progs>
|
| Programme fs7.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl
require 6;
print ("La version est la bonne.");
|
c:\progs> perl fs7.plent
Perl v6.0.0 required (did you mean v6.000?)
--this is only v5.8.0, stoped at fs7.pl line 2.
c:\progs>
|
- 98 * 4 + 12 11;
(98 - (4 * (12 + 11)))
| Programme fs8.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
sub calcul_droit {
my ($index) = @_;
my ($resultat, $o1, $o2);
if ($index + 3 == @liste) {
$o2 = $liste[$index + 2];
} else {
$o2 = &calcul_droit ($index + 2);
}
$o1 = $liste[$index + 1];
if ($liste[$index] eq "+") {
$resultat = $o1 + $o2;
} elsif ($liste[$index] eq "*") {
$resultat = $o1 * $o2;
} elsif ($liste[$index] eq "-") {
$resultat = $o1 - $o2;
} else {
$resultat = $o1 / $o2;
}
}
$ligne =
|
c:\progs> perl fs8.plent - 98 * 4 + 12 11ent Resultat du calcul : 6 c:\progs> |
&Ma_Procedure (@La_liste_effective);
. . . . .
sub Ma_Procedure {
my (@Liste_locale) = @_;
. . . . .
}
@Liste_effective = (1 .. 1000000)
&Ma_Procedure (*Liste_effective);
. . . . .
sub Ma_Procedure {
my (*Liste_locale) = @_;
. . . .
$longueur = @Liste_locale;
}
*Liste_effective
@Liste_effective
@Liste_effective
Ma_Procedure
@Liste_locale
@Liste_effective
@Liste_effective
@Liste_effective
@Liste_locale
@Liste_effective
| Programme fs9.pl | Exécution sur l'écran |
|---|---|
#!/usr/bin/perl;
$v = 0;
@v = ("Voici","une","longue","liste");
&ma_procedure (*v);
print ("Ici, la valeur de \$v est $v.\n");
sub ma_procedure {
local (*ligne) = @_;
foreach $element (@ligne) {
print ("$element ");
}
print ("\n");
$ligne = 1000;
}
|
c:\progs> perl fs9.plent
Voici une longue liste
Ici, la valeur de $variable est 1000.
c:\progs>
|