[Perl] Robertof Calculator ~ My first program

Stato
Discussione chiusa ad ulteriori risposte.

Robertof

Utente Silver
19 Giugno 2008
186
10
0
98
Ed ecco che vi presento il mio primo programma in Perl, Robertof Calculator!
Questo piccolissimo programma non è altro che una semplicissima calcolatrice che può: addizionare, sottrarre, dividere, moltiplicare e fare potenze.

Codice:
#!/usr/bin/perl

# Robertof PERL calculator
# This is only an example!

while (1) {
	print "Cosa vuoi fare? h per i comandi disponibili: ";
	my $str = <STDIN>;
	chomp ($str);
	if ($str eq "h") {
		print "Comandi disponibili:\n\tq: esci dal programma\n\th: mostra questo aiuto\n\ta: addizione\n\ts: sottrazione\n\td: divisione\n\tm: moltiplicazione\n\tp: potenza.\n\nBy Robertof.\n";
	} if ($str eq "q") {
		exit 0;
	} if ($str eq "a") {
		print "Inserisci il primo fattore: ";
		my $fact = <STDIN>;
		chomp ($fact);
		$fact = int $fact;
		print "Inserisci il secondo fattore: ";
		my $fact_ = <STDIN>;
		chomp ($fact_);
		$fact_ = int $fact_;
		my $result = $fact + $fact_;
		print "\nIl risultato dell'operazione è: ", $result, "\n";
	} if ($str eq "s") {
		print "Inserisci il primo fattore: ";
		my $fact = <STDIN>;
		chomp ($fact);
		$fact = int $fact;
		print "Inserisci il secondo fattore: ";
		my $fact2 = <STDIN>;
		chomp ($fact2);
		$fact2 = int $fact2;
		my $result = $fact - $fact2;
		print "\nIl risultato della sottrazione è: ", $result, "\n";
	} if ($str eq "d") {
		print "Inserisci il dividendo: ";
		my $fact = <STDIN>;
		chomp ($fact);
		$fact = int $fact;
		print "Inserisci il divisore: ";
		my $fact2 = <STDIN>;
		chomp ($fact2);
		$fact2 = int $fact2;
		if ($fact2 == 0) {die "Non mi risulta che si possa dividere per 0.."};
		my $result = $fact / $fact2;
		print "\nIl risultato della divisore è: ", $result, "\n";
	} if ($str eq "m") {
		print "Inserisci il primo fattore: ";
		my $fact = <STDIN>;
		chomp ($fact);
		$fact = int $fact;
		print "Inserisci il secondo fattore: ";
		my $fact2 = <STDIN>;
		chomp ($fact2);
		$fact2 = int $fact2;
		my $result = $fact * $fact2;
		print "\nIl risultato della moltiplicazione è: ", $result, "\n";
	} if ($str eq "p") {
		print "Inserisci la base: ";
		my $fact = <STDIN>;
		chomp ($fact);
		$fact = int $fact;
		print "Inserisci l'esponente: ";
		my $fact2 = <STDIN>;
		chomp ($fact2);
		$fact2 = int $fact2;
		my $result = $fact ** $fact2;
		print "\nIl risultato della potenza è: ", $result, "\n";
	}
}

Domani mi compro un libro sul Perl e lo studio per bene, è interessante come linguaggio di scripting :p
 
uhm questo linguaggio nn sembra male, mi leggo una guida base di html.it, sembra "elegante", e fa sempre comodo aggiungerlo al mio "curriculum (dopo mancherebbe solo basic e ruby.....)
 
ehi il perl non è che "non è male".
cavolo, è il massimo xD

per quanto riguarda un libro:
cartaceo: http://www.perl.it/blog/archives/000619.html
ebook: http://www.autistici.org/tx0/corso/

ps. per la calcolatrice potevi fare un semplice 'eval' tipo questa (ok, lo so che è il tuo primo programma ma mi piace rompere xD) :
Codice:
#!/usr/bin/perl

while (1) {
print "> ";
print eval(<>);
print $/;
}
certo scritto così è molto pericoloso; basta scrivere "unlink *" per eliminare tutti i file nella directory attuale (o_O) ma per uno senza "secondi fini" va più che bene xD

io ti consiglio di studiare molto il perl, è un ottimo linguaggio e ti darà parecchie soddisfazioni.
 
Lo studio da poco, è proprio figo! Ci ho già realizzato parecchie cose carine.
Comunque mi sembra un po' lunghina.A me è venuta 58 righe inclusa la opzione di calcolare la percentuale.
 
Oromis, $/ che è? xD
PS: Grazie per l'ebook e per il libro cartaceo (avevo già intenzione di comprare lo stesso)
 
ShuraBozz ha detto:
@Malex: usi il Python e dici che il perl non è male? è il re dei linguaggi di scripting il perl...

parlo di sintassi "vista ad occhio", nn del linguaggio in sè........
 
Robertof ha detto:
Oromis, $/ che è? xD
EDIT: ho confuso $/ con $_, $/ stampa un ritorno a capo. Scusate xD
@Shura: quoto Malex, anche io scripto in Python e lo ritengo il meglio, ma non nego che Perl ha il suo perché ed è assai comodo a volte (vedi i Socket che si gestiscono alla grande).
 
Oromis92 ha detto:
ehi il perl non è che "non è male".
cavolo, è il massimo xD

per quanto riguarda un libro:
cartaceo: http://www.perl.it/blog/archives/000619.html
ebook: http://www.autistici.org/tx0/corso/

ps. per la calcolatrice potevi fare un semplice 'eval' tipo questa (ok, lo so che è il tuo primo programma ma mi piace rompere xD) :
Codice:
#!/usr/bin/perl

while (1) {
print "> ";
print eval(<>);
print $/;
}
certo scritto così è molto pericoloso; basta scrivere "unlink *" per eliminare tutti i file nella directory attuale (o_O) ma per uno senza "secondi fini" va più che bene xD

io ti consiglio di studiare molto il perl, è un ottimo linguaggio e ti darà parecchie soddisfazioni.

Ma si dai cosi' al posto dei numeri ci logghiamo come root e passiamo da input
rm -rf /

magari una regex?
 
Stato
Discussione chiusa ad ulteriori risposte.