Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435

    [PERL] cosa fa questo codice?

    Ciao, premetto che non so nulla di perl (nè sono particolarmente interessato a saperne..-.-), tuttavia devo usare uno script scritto in questo linguaggio e bene o male tramite internet sono riuscito a capirlo a grandi linee, tranne questa parte:
    codice:
    while($var1 =~ m/[^:]+:\s+(\d+)/g) { 		
    push @vararr, $1; 	}
    Da quel che ho capito cerca una stringa che è in un certo formato e, se lo è, mette qualcosa in coda all'array...la stringa di formato in esame però è per me puro arabo! Mi dite se quel che ho detto è corretto e mi fate un'esempio di stringa che rispetta quel formato?

  2. #2
    Utente di HTML.it L'avatar di jarm
    Registrato dal
    Sep 2011
    Messaggi
    3
    Ciao, spero possa esserti d'aiuto.

    Dunque vediamo...

    m/[^:]+:\s+(\d+)/g

    si puo tradurre in:

    m/exp/g esegui il match in modo global (tutte le occorrenze nella riga terminata da una newline "\n")

    [^:]+ fai il match di uno o piu' caratteri che non siano ':'

    : fai il match di un singolo ':'

    \s+ fai il match di uno o piu' caratteri whitespace

    (\d+) fai il match di uno o piu' caratteri numerici. In piu' le parentesi indicano di conservare
    il risultato del match (la stringa matchata) in $1, che verra' usata: 'push @vararr, $1;'.

    Perdonami se non sono stato abbastanza esaustivo, spero possa aiutare.

    Ciao

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    In effetti non ci ho capito molto...mica mi puoi fare un esempio pratico? Prendi una stringa che rispetta quel format e mi dici che cosa salvo.

  4. #4
    Utente di HTML.it L'avatar di jarm
    Registrato dal
    Sep 2011
    Messaggi
    3
    Okay, beh in pratica quella espressione regolare farebbe il match di stringhe come:

    'foo1000: 123451'

    oppure

    '213d: 234234'

    oppure

    '1d: 23'

    Edit: Salvi l'ultima parte, quella numerica (dopo gli spazi centrali).

  5. #5
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Quindi una stringa in cui a sinistra c'è un una cifra alfanumerica e a destra un numero?

  6. #6
    Utente di HTML.it L'avatar di jarm
    Registrato dal
    Sep 2011
    Messaggi
    3
    Si esatto.

  7. #7
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Grazie mille mi 6 stato di grande aiuto!

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.