-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[6] Perché & non funziona come voglio io?

Il comportamento degli operatori artimetici binari varia a seconda che vengano utilizzati su numeri o stringhe. Gli operatori trattano una stringa come una serie di bit e lavorano su di essi (la stringa "3" è la sequenza di bit 00110011). Gli operatori lavorano con la forma binaria di un numero (il numero 3 è la sequenza di bit 00000011).

Dunque, con 11 & 3 si esegue l'operazione "and" su numeri (produce 3). Con "11" & "3" si compie l'operazione "and" su stringhe (produce "1").

La maggior parte dei problemi con & e | nasce poiché i programmatori pensano di avere in mano dei numeri, ma in realtà hanno delle stringhe. I rimanenti problemi nascono dal fatto che i programmatori scrivono:

    if ("\020\020" & "\101\101") {
        # ...
    }

ma una stringa contenente due byte nulli (il risultato di "\020\020" & "\101\101") non rappresenta un valore falso in Perl. Dovete scrivere:

    if ( ("\020\020" & "\101\101") !~ /[^\000]/) {
        # ...
    }

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google