
Script 1: is_prime.pl
Vous trouverez ci-dessous un petit script perl qui permet de déterminer si un nombre est premier ou non: is_prime.pl
prabou@prabou-VPCZ23C5E:~/Téléchargements$ cat is_prime.pl #!/usr/bin/perl #File: is_prime.pl #Author: Prabou MOUTTOU #Description: checks if nombre is prime #Version: 28 April 2019 use strict; use warnings; my $nombre=$ARGV[0]; #si le nombre est pair il n'est pas premier if ( $nombre%2 == 0 ){ print "le nombre $nombre est pair, il n'est donc pas premier\n"; exit; } else { #calcul de la partie entiere de la racine carree du nombre my $partie_entiere=int(sqrt($nombre)); if ($partie_entiere%2 == 0){$partie_entiere = $partie_entiere - 1;} #calcul du reste de l'operation nombre/3,5,7...$partie_entiere my $i=3; while (($nombre%$i) != 0 && $i <= $partie_entiere) { $i = $i + 2; } if ( $i-2 != $partie_entiere ){print "$nombre n'est pas premier! $nombre est divisible par $i\n";} else {print "$nombre est premier!\n";} } #quelques executions prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./is_prime.pl 1776 le nombre 1776 est pair, il n'est donc pas premier prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./is_prime.pl 8191 8191 est premier! prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./is_prime.pl 2147483647 2147483647 est premier! prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./is_prime.pl 4294967295 4294967295 n'est pas premier! 4294967295 est divisible par 3 prabou@prabou-VPCZ23C5E:~/Téléchargements$
Script 2: mersenne_is_prime.pl
Vous trouverez ci-dessous un petit script perl qui permet de calculer un nombre de Mersenne, puis de déterminer s'il est premier ou non: mersenne_is_prime.plCe script fait appel à mersenne.pl et is_prime.pl. L'image ci-dessous montre quelques exécutions de ce script sur Kubuntu 19.04:
prabou@prabou-VPCZ23C5E:~/Téléchargements$ cat mersenne_is_prime.pl #!/usr/bin/perl #File: mersenne_is_prime.pl #Author: Prabou MOUTTOU #Description: tester si un nombre de Mersenne est premier #Version: 01 October 2014 use strict; use warnings; my $nombre=$ARGV[0]; #appel du script mersenne.pl pour calculer le nombre de Mersenne my $mersennenbre=`/usr/bin/perl ./mersenne.pl $nombre`; #appel du script is_prime.pl pour determiner s'il est premier print "le nombre de Mersenne M$nombre="; system("/usr/bin/perl ./is_prime.pl $mersennenbre"); #quelques executions prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./mersenne_is_prime.pl 29 le nombre de Mersenne M29=536870911 n'est pas premier! 536870911 est divisible par 233 prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./mersenne_is_prime.pl 30 le nombre de Mersenne M30=1073741823 n'est pas premier! 1073741823 est divisible par 3 prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./mersenne_is_prime.pl 31 le nombre de Mersenne M31=2147483647 est premier! prabou@prabou-VPCZ23C5E:~/Téléchargements$
Script 3: pret.pl
Vous comptez souscrire à un crédit immobilier ou faire racheter votre crédit actuel? Alors voici le script pret.pl qui permet de générer le fichier amortissement.csv.Le dernière ligne du script permet aussi d'envoyer automatiquement un email avec le fichier attaché.
Le fichier amortissement.csv peut être ouvert avec LibreOffice Calc ou tout autre logiciel tableur, et comme vous l'imaginez il contiendra un tableau d'amortissement pour un prêt (prêt immobilier par exemple).
Pour exécuter le script, il faut lui donner les droits d'exécution, puis entrer la commande suivante ./pret.pl capital taux durée(années) assurance. Voici un exemple:

Remarque: Si vous souhaitez avoir plus d'explications sur le prêt en lui-même, et les formules utilisées dans le script, vous pouvez visiter la page immobilier.php.
Script 4: impots.pl
Vous trouverez ci-dessous un petit script perl qui permet de calculer ses impôts, ainsi que la part des impôts par rapport aux revenus: impots.plCe script tient notamment compte des dons que vous avez faits à des organismes d'intérêt général, mais pas de la prime pour l'emploi!
L'image ci-dessous montre quelques exécutions de ce script sur Kubuntu 19.04:
prabou@prabou-VPCZ23C5E:~/Téléchargements$ cat impots.pl #!/usr/bin/perl #File: impots.pl #Author: Prabou MOUTTOU #Description: calcul des impots #Version: 18 septembre 2014 use strict; use warnings; use open ':std', ':encoding(UTF-8)'; #definition des tranches et des taux pour l'annee 2014 my ($tranche1,$taux1) = (6011,0); #premiere tranche revenus dans 0 - 6011 euros my ($tranche2,$taux2) = (11991,0.055); #deuxieme tranche revenus dans 6011 - 11991 euros ----> avec taux2=0 en 2015 my ($tranche3,$taux3) = (26631,0.14); #troisieme tranche revenus dans 11991 - 26631 euros my ($tranche4,$taux4) = (71397,0.30); #quatrieme tranche revenus dans 26631 - 71397 euros my ($tranche5,$taux5) = (151200,0.41); #cinquieme tranche revenus dans 71397 - 151200 euros my $taux6=0.45; #sixieme tranche revenus superieurs a 151200 euros #le revenu doit etre le premier argument my $revenus=$ARGV[0]; print "vos revenus l'an dernier etaient de $revenus \x{20AC}\n"; #nombre de parts fiscales du foyer (deuxieme argument) my $part=$ARGV[1]; print "nombre de parts fiscales du foyer: $part\n"; #montant des dons a des organismes d'interet general (troisieme argument) my $dons=$ARGV[2]; print "vos dons l'an dernier etaient de: $dons \x{20AC}\n"; #calcul du revenu net global imposable my $revenu_net_imposable=0.9*$revenus; #-10% pour les charges deductibles print "votre revenu net global imposable est de: $revenu_net_imposable \x{20AC}\n"; #calcul de la base imposable (ou encore assiette fiscale) my $assiette_fiscale=$revenu_net_imposable/$part; print "votre assiette fiscale est de: $assiette_fiscale \x{20AC}\n"; #calcul de l'impot sur les revenus my $impots; if ($assiette_fiscale <= $tranche1) { $impots=$part*$taux1*$assiette_fiscale; } elsif ($assiette_fiscale <= $tranche2) { $impots=$part*$taux2*($assiette_fiscale-$tranche1); } elsif ($assiette_fiscale <= $tranche3) { $impots=$part*($taux3*($assiette_fiscale-$tranche2)+$taux2*($tranche2-$tranche1)); } elsif ($assiette_fiscale <= $tranche4) { $impots=$part*($taux4*($assiette_fiscale-$tranche3)+$taux3*($tranche3-$tranche2)+$taux2*($tranche2-$tranche1)); } elsif ($assiette_fiscale <= $tranche5) { $impots=$part*($taux5*($assiette_fiscale-$tranche4)+$taux4*($tranche4-$tranche3)+$taux3*($tranche3-$tranche2)+$taux2*($tranche2-$tranche1)); } else { $impots=$part*($taux6*($assiette_fiscale-$tranche5)+$taux5*($tranche5-$tranche4)+$taux4*($tranche4-$tranche3)+$taux3*($tranche3-$tranche2)+$taux2*($tranche2-$tranche1)); } #deduction d'impot liee aux dons my $deduction_dons; if (0.66*$dons <= 0.2*$revenu_net_imposable) { $deduction_dons=0.66*$dons; } else { $deduction_dons=0.2*$revenu_net_imposable; } #deduction d'impot liee a la PPE (Prime Pour l'Emploi) my $deduction_PPE=0; #pour y avoir droit, il faut que le montant du revenu fiscal de reference du foyer soit # < 16251 euros (pour un celibataire) # < 32498 euros (pour un couple sans enfant) # < (32498 + 2*n*4490) euros (pour un couple + n parts supplementaires), soit 41478 euros pour un couple avec 2 enfants print "attention, le montant des impots ci-dessous ne tient pas compte d'une eventuelle prime pour l'emploi\n"; #calcul de l'impot final (impots - deductions) my $impot_final=$impots-$deduction_dons-$deduction_PPE; #calcul du taux d'imposition global sur les revenus my $taux_imposition=100*$impot_final/$revenus; my $taux_imposition_arrondie=sprintf ("%0.2f", $taux_imposition); print "vos impots seront de $impot_final \x{20AC},soit $taux_imposition_arrondie % de vos revenus\n"; #execution du script prabou@prabou-VPCZ23C5E:~/Téléchargements$ ./impots.pl 45138 3 360 vos revenus l'an dernier etaient de 45138 € nombre de parts fiscales du foyer: 3 vos dons l'an dernier etaient de: 360 € votre revenu net global imposable est de: 40624.2 € votre assiette fiscale est de: 13541.4 € attention, le montant des impots ci-dessous ne tient pas compte d'une eventuelle prime pour l'emploi vos impots seront de 1400.268 €,soit 3.10 % de vos revenus prabou@prabou-VPCZ23C5E:~/Téléchargements$