[PERL]Help....

Stato
Discussione chiusa ad ulteriori risposte.

imported_teckste

Utente Silver
7 Gennaio 2009
0
0
0
55
Ciao a tutti..premetto ke mi sn addentrato nel PERL da 2/3 giorni e nn ne so molto..ma studiando qualche base ho provato a codare un programmino..non riesco a capisce cosa sbaglio...alla selezione della lettera mi si chiude(in poche parole una volta scritta la lettera e una volta premuto invio)
Codice:
print "Benvenuti nel primo programma in PERL creato da teckste\n -------------------\n inserire un numero"; 
$n=<STDIN>;
print "----------------------\n Inserire il secondo numero";
$n2=<STDIN>;
print "cosa vuoi fare? per sommarli scrivi S per Sottrarli premi SS";
$o=<STDIN>;
if ($o eq 'S') {
$r=$n+$n2;
print "Risultato:".$r;
<STDIN>;
} if ($o eq 'SS') {
$r=$n-$n2;
print "Risultato:".$r;;
<STDIN>;
}

Help..:(

p.s: ho iniziato il perl poichè volendomi addentrare nel mondo dell' "Hacking" mi è stato consigliato come uno dei linguaggi fondamentali..e poi anche perchè è carino come linguaggio..
 
edit: nono, scusa, ho sbagliato :p

il perchè è, quando batti aggiunge anche il carattere invio, e te dovresti fargli un
Codice:
chomp ($var=<>);

ps: ,meglio <> di <STDIN>
 
per spiegare meglio, quando chiedi l'input di viene passato ad esempio "S\n", dove \n indica il carattere "a capo".

chomp lo rimuove.

Questa cosa è caratteristica della maggior parte dei linguaggi con sintassi simile al C, anche se le funzioni variano da linguaggio a linguaggio.
 
Grz mille della risp..ma in poke parole devo mettere chomp($nomevariabile) ogni volta dopo un STDIN che prende l'input di chi scrive?? scusatemi se mi spiego male ma sono davvero agli inizi di questo linguaggio...appena posso vado avanti..
 
teckste ha detto:
Grz mille della risp..ma in poke parole devo mettere chomp($nomevariabile) ogni volta dopo un STDIN che prende l'input di chi scrive?? scusatemi se mi spiego male ma sono davvero agli inizi di questo linguaggio...appena posso vado avanti..



come ho già detto puoi usare
Codice:
chomp ($var=<>);

invece che
Codice:
$var=<STDIN>;
chomp ($var);
 
teckste ha detto:
Malex ha detto:
da quello che ne so praticamente sì.
Grazie mille risolto...:) comunque è il mio primo programmino leggendo sl da 2 giorni le basi xD

e io ti ho risposto avendo solo letto codici altrui senza mai aprire una guida perl XDDDD però ci ho imbroccato........
 
lepa ha detto:
teckste ha detto:
Grz mille della risp..ma in poke parole devo mettere chomp($nomevariabile) ogni volta dopo un STDIN che prende l'input di chi scrive?? scusatemi se mi spiego male ma sono davvero agli inizi di questo linguaggio...appena posso vado avanti..



come ho già detto puoi usare
Codice:
chomp ($var=<>);

invece che
Codice:
$var=<STDIN>;
chomp ($var);

Perfetto ;) Grz Mille :)
 
Stato
Discussione chiusa ad ulteriori risposte.