<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/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 ----&gt; 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 &lt;= $tranche1) {
	$impots=$part*$taux1*$assiette_fiscale;
}
elsif ($assiette_fiscale &lt;= $tranche2) {
	$impots=$part*$taux2*($assiette_fiscale-$tranche1);
}
elsif ($assiette_fiscale &lt;= $tranche3) {
	$impots=$part*($taux3*($assiette_fiscale-$tranche2)+$taux2*($tranche2-$tranche1));
}
elsif ($assiette_fiscale &lt;= $tranche4) {
	$impots=$part*($taux4*($assiette_fiscale-$tranche3)+$taux3*($tranche3-$tranche2)+$taux2*($tranche2-$tranche1));
}
elsif ($assiette_fiscale &lt;= $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 &lt;= 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
# &lt; 16251 euros (pour un celibataire)
# &lt; 32498 euros (pour un couple sans enfant)
# &lt; (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";
</pre></body></html>