Askotan, datu sorta bat aurkezten digutenean, errazagoa izan ohi da datu horiek interpretatzea grafikoki adieraziz gero. Esaterako, hauteskundeen berri ematean, jasotako boto kopurua bera baino adierazgarriagoa izaten da alderdi bakoitzak lortu duen boto-portzentajea. Gauzak horrela, emaitzak barra bidezko grafiko batez bistaratuko dituen azpiprograma garatuko dugu, datu sorta bat aurkeztu behar dugunean erabili ahal izan dezagun.
Hona hemen, adibide gisa, komando-lerrotik datu sorta pasatu eta grafikoki bistaratzen dituen bistaratu.pl programaren irteera:
>perl bistaratu.pl 50 10 26 28
DATUAK PORTZENTAIA GRAFIKOA
104 %100
**************************************************
10 9.62 ****
16 15.38 *******
28 26.92 *************
50 48.08 ************************
>
Programa bera:
bistaratu.pl
#!/usr/local/bin/perl
use warnings;
use strict;
# Funtzio deia. Argumentua komando-lerrotik jasotako datuak
grafikoa(@ARGV);
# Funtzioaren definizioa
sub grafikoa {
# Datuen array-a jaso argumentu gisa
my @datuak = @_;
my $batura = 0;
my $portzentaia;
my $zenbatIzar;
# %100 kalkulatu: balio guztien batura
foreach my $balio (@ARGV) {
$batura = $batura + $balio;
# edo $batura += $balio;
}
# Grafikoaren goiburukoa
print (“DATUAKtPORTZENTAIAtGRAFIKOAn”);
print (“$batura t %100tt”);
# Datuen %100 adierazteko 50 izartxo
print (“*” x 50);
print (“nn”);
# Datuak ordenatu eta grafikoki bistaratu
foreach my $balio (sort ({$a <=> $b} @datuak)) {
# Datu bakoitzaren portzentaia
$portzentaia = ($balio / $batura) * 100;
# Bistaratzeko formatua
printf(“%s t %4.2f tt”, $balio, $portzentaia);
# Portzentaiari dagozkion izartxoak
$zenbatIzar = int($portzentaia * 0.5);
print (“*” x $zenbatIzar);
print(“n”);
}
}
Programaren muina grafikoa() azpiprograman dago. Horrek, argumentu gisa zenbakizko datuen array bat jaso eta datuok barra bidezko grafiko bidez adierazten ditu.
Jaitsi bistaratu.pl fitxategia