Il mio Perl String Split non funzionante

July 30

Il linguaggio di programmazione Perl contiene molti tipi di dati e funzioni built-in, che lo rende adatto per l'implementazione in diverse situazioni-da Gestione file di comunicazione Web di manipolazione delle stringhe. E 'importante, tuttavia, per sapere come utilizzare le funzioni incorporate di Perl in modo che funzionino correttamente. La funzione "split", ad esempio, richiede un insieme specifico di dati di ingresso e di uscita per produrre risultati corretti.

Perl Strings

In Perl, come in molti altri linguaggi di programmazione, uno dei tipi di dati di base rappresenta una parola o una frase. Questo tipo di dati è una stringa di caratteri, è chiamato "stringa". Le stringhe possono essere memorizzati nelle variabili normali preceduto dal carattere "$". Quando una stringa viene assegnato a una variabile, è possibile utilizzare gli operatori di stringa e funzioni per modificare la stringa. Così, quando si chiama per le funzioni di stringa, come un "split", è meglio per assicurare che viene utilizzata una variabile contenente una stringa.

delimitatori

Si può leggere stringhe da una varietà o fonti. Spesso, quando le informazioni viene letto da una stringa in una funzione di dati-analisi, la stringa contiene "delimitatori" di dati logicamente separate. Un delimitatore è un simbolo designato, di solito non alfanumerico, che segnala una pausa tra due pezzi di dati. I delimitatori possono venire in qualsiasi forma, ma di solito appaiono come simboli di punteggiatura, come un colon o una virgola. Non si deve solo fornire un delimitatore a una funzione di divisione, ma è anche necessario garantire che il delimitatore corrisponde a quello utilizzato nella stringa. In caso contrario, si riceverà risultati imprevisti.

Array

Funzione Array in Perl più o meno allo stesso modo in cui gli array funzionano in altri linguaggi di programmazione, o almeno in attuazione. Gli array rappresentano una raccolta di dati, spesso dello stesso tipo di dati, organizzata sotto lo stesso nome della variabile e indicizzato da interi a partire da 0. Un array può contenere qualsiasi tipo di tipo di dati. In Perl, una matrice è preceduto con il simbolo "@". Dal momento che la funzione split restituisce un array, è importante fare in modo che si assegnano i risultati della scissione di un array e non qualche altro tipo di struttura variabile o dati.

Perl "Split"

E 'necessario prendere in considerazione tutti i fattori della funzione "split" per usarlo. La funzione prende due argomenti: in primo luogo, il delimitatore usato per separare la stringa, e in secondo luogo, la variabile che contiene la stringa o una stringa letterale. È inoltre necessario assegnare il valore di ritorno della funzione di un array. Infine, è necessario assicurarsi che il delimitatore definito nel primo argomento corrisponde con lo schema di delimitazione della stringa stessa. I seguenti esempi illustrano possibili errori e, infine, un corretto utilizzo del "split:

$ Stringa1 = "Questa è una stringa";
$ String2 = "Questo, è un altro, stringa";
$ Integer1 = 5;

@holding;

@holding = split (/, /, $ integer1); // Cercando di dividere un numero intero, errore
$ Stringa1 = split (/, /, $ string2); // Assegnando valore di ritorno di un non-array, errore
@holding = split (/: /, $ string2); // Delimitatore errato, errore

@holding = split (/, /, $ string2); //corretta