Vari Modi Per Correggere L’errore Di Errore Di Perl Split Loop
December 24, 2021Consigliato: Fortect
Speriamo che la nostra guida per l’utente ti aiuti se ti imbatti in un errore di ciclo diffuso di Perl.
PrivI incontro due fratelli e sorelle…Quando eseguo Perl 5.8 su Linux ottengo un errore di interruzione del cicloper essere continuato …. (Perl 5.8 è progettato come i386-linux-thread multi)
$ riga equivale a $ _;@outLine è equivalente a ripped (/ (<[^>] *>) /, cash line);
@outLine = rotto (/ (<[^>] *>) /, $ _);
E in nessun modo ricevo questo errore quando capisco che bruciacon Solaris. (Perl 5.8 è costruito rispetto a sun4-solaris)Sfortunatamente non sono stato in grado di risolvere il problema semplicemente sostituendolo$ legame con $ _ in procedura “reale”, vorrei valutarlo. Idee?Grazie!
Perl ha 3 parole chiave comuni per il controllo delle immagini. La seconda, sicuramente usata spesso, è la successiva a continua, e c’è proprio la terza, che purtroppo non si usa quasi mai, e si chiama Rifai. Nella maggior parte delle altre lingue, alcune delle nostre parole chiave pertinenti sono “avanti” e “vacanze”. Il prossimo da Perl sarà lo stesso di continue in alcune altre lingue, e l’ultimo una volta che Perl è lo stesso dell’arresto temporaneo in altre lingue.
Puoi inviare perldoc perldiag
per verificare il significato di una serie di errori e avvisi incorporati.
Split hook
Per i one-liner Perl con anelli impliciti (con i sistemi -n o -p per ottenere le linee), usa questa particolare ultima o addirittura l’ultima LINEA per uscire da qualche trappola che scorre sui fogli di dati. Per esempio, questi semplici esempi mostrano quasi tutte le prime righe semplicemente dopo la scrittura: -e: dice a Perl di cercare il codice su quel numero di righe, non nel file.
(P) La scissione è durata per sempre. (Naturalmente, ogni divisione non dovrebbe procedere attraverso più istanze di quelle normalmente presenti nella voce, che cosa inoltre cosa è successo.) "Split" check to perlfunc.
In Perl, ad esempio, la funzione si chiama split. Dividendo REGEX, STRING divide STRING per la parte REGEX. dividere REGEX, STRING, LIMIT, dove LIMIT è una raccolta positiva. Questo dividerà sicuramente la STRING per quasi tutte le corrispondenze effettuate come risultato di REGEX, ma tenderà a bloccarsi non appena si trovano corrispondenze LIMIT-1.
La linea che stai sistemando è così lunga che Perl ha pensato che l’iterazione fosse infinita. Se Perl ha diviso la linea più della lunghezza della linea mentre la domanda + 10, ripristinerà l’errore precedente, assumendo che si trovi in un ciclo infinito. Sfortunatamente fino a quando questo numero non viene memorizzato come un intero a 24 bit che può controllare e inviare solo fino a 2 miliardi. La tua stringa è 16 miliardi più alta di quella che vedi, il quarto termine, quindi molto probabilmente il risultato non sarà corretto.
Questo problema è stato risolto di recente nella versione 5.20, insieme a molti altri problemi con le corde della chitarra di dimensioni superiori a 2 GB. Se è così, tutti i tuoi parenti Perl verranno aggiornati, il tuo codice dovrebbe sicuramente “funzionare”.
Tuttavia, il tuo sistema è terribilmente inefficiente, ma distrugge ugualmente la maggior parte della memoria della macchina, rallentandola orribilmente quando si gira su CD. Come minimo, dovremmo semplicemente ingoiare il tuo piccolo file e leggerlo riga per riga da 16 GB.
il mio attuale @small_data = <$ small_fh>;mangiare @small_data;while (molto pulito $ big = <$ big_fh>) masticare soldi incredibili; per i miei quasi nessun $ (@small_data) ...
Ma anche questo sarebbe terribilmente inefficiente, se un piccolo file contiene ben 1000 righe il ciclo si completerà con un reddito di 16 miliardi!
Dal momento che sembra che tu stia controllando per vedere se le voci del file principale sono indubbiamente in un piccolo archivio, avresti record convertName di qualità superiore di piccoli file interessati a questa tabella hash.
my% campi;while (la mia stringa $ significa che <$ small_fh>) linea chomp rr; my the best @sp = split /: /, rrr line; $ industrie $ sp [0] = contanti sp [1];
Gli utenti possono ora percepire un documento di grandi dimensioni e visualizzare semplicemente l’hash.
finché è vero (war $ line = <$ big_fh>) chomp $ linea; my @f significa crack (' t', stringa $); if (campi $ r [0] definiti) ...
[data di ritorno] [Prossima data] UN [Torna all’argomento] [Argomento successivo] UN[Indice delle materie][Indice delle date][Indice degli autori di Telford]
- di
- A: psyche-list redhat world-wide-web
- Oggetto: Re: perl: Invia immagine …
- Data: mercoledì 12 marzo ’03 11:43:24 +1100
- Monitoraggio:
- Oggetto:- perl: interrompi il ciclo in… arrivederci
- tramite Olonoh
- Re: perl: dividere il ciclo in…
- Inserito da Cameron Simpson.
- Oggetto:- perl: interrompi il ciclo in… arrivederci
[data di ritorno] [Prossima data] [Torna all’argomento] [Argomento successivo] UN[Indice delle materie][Indice delle date][Directory degli autori]
Consigliato: Fortect
Sei stanco del fatto che il tuo computer funzioni lentamente? È pieno di virus e malware? Non temere, amico mio, perché il Fortect è qui per salvare la situazione! Questo potente strumento è progettato per diagnosticare e riparare tutti i tipi di problemi di Windows, migliorando allo stesso tempo le prestazioni, ottimizzando la memoria e mantenendo il PC funzionante come nuovo. Quindi non aspettare oltre: scarica Fortect oggi!
Split Loop Error Perl
Split Loop Fehler Perl
Oshibka Razbieniya Cikla Na Perl
분할 루프 오류 펄
Erro De Loop De Divisao Perl
Split Loop Error Perl
Split Loop Fout Perl
Blad Podzielonej Petli Perl
Error De Bucle Dividido Perl
Erreur De Boucle Fractionnee Perl