Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [ PERL ] funzione pack

  1. #1
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    [ PERL ] funzione pack

    ragazzi a cosa serve la funzione pack? Ho visto che viene utilizzate nelle sostituzioni, esempio:

    [code] s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; [code]

    ma viene usata solo nelle sostituzioni???
    C/C++

  2. #2
    pack serve per trafromare un numero in una seq di byte.

    Ad esempio, hai il numero 1234 e lo vuoi cinvertire in formato 2byte con segno. Basta che fai:
    pack("s",1234) e la funziona pack di torna i due byte.

    GUIDA IN ITALIANO A PACK:
    http://www.perl.it/documenti/perlfun...html?func=pack


    unpack invece fa il contrario.
    print unpack("I",pack("I",854651))."\n";
    #stampa '854651'

    La sostituzione che hai fatto te invece si usa negli url.
    I caratteri speciali negli url sono convertiti in esadecimale e davanti hanno il '%'.
    pack("C", hex($1))
    hex converte il numero esadecimale in decimale.
    pack trasforma il numero in un carattere.
    Nel tuo caso però si poteva sostituire la funzione pack con chr.
    s/%([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;
    Che è molto più bello XD
    se non hai capito risp.
    ciao

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.