Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071

    Perchè non entra nell'if??

    codice:
    print "Attivare la swap Area? (s/n): ";
    $risp = <STDIN>;
    if ($risp eq 's'){
    	print "Dimensione massima della swap area: ";
    	$swapArea = <STDIN>;
    }
    cioè non capisco.... è come se non si verificasse mai la condizione! eppure se stampo $risp mi esce "s".... ho provato anche a mettere " " invece di ' '.... ma nulla...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Prova con:
    if (substr($risp,0,1) eq 's'){

    Oppure (meglio):
    if (lc(substr($risp,0,1)) eq 's'){

    Infatti una stringa in Perl non puo` essere di un solo carattere: c'e` sempre il \n (oppure \0) che "chiude" la stringa.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    Originariamente inviato da Mich_
    Prova con:
    if (substr($risp,0,1) eq 's'){

    Oppure (meglio):
    if (lc(substr($risp,0,1)) eq 's'){

    Infatti una stringa in Perl non puo` essere di un solo carattere: c'e` sempre il \n (oppure \0) che "chiude" la stringa.
    ma scusa... anche se io metto ' ' invece di " " ... .e comunque avevo provato anche con "si" e "SI"... ma non è cambiato l'effetto...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che c'entra il carattere virgolette o apice?
    Quello serve per fare in modo che la stringa venga interpretata oppure no.

    Quello che volevo dire e` che non ha senso confrontare (con l'operatore eq) una stringa formata da 's' con quella che e` stata digitata che e` 's\n'.
    Devi confrontare due stringhe uguali; lo puoi ottenere con il substr oppure con altri sistemi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    ok perfetto grazie

  6. #6
    print "Attivare la swap Area? (s/n): ";
    chomp ($risp = <STDIN>);
    if ($risp eq 's'){
    print "Dimensione massima della swap area: ";
    $swapArea = <STDIN>;
    }
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.