2012-02-02 8 views
7

codice Segui non è accettato dal Critico, di gravità 4:Perl Critico: Comma utilizzato per separare le istruzioni

return { 
    'debug' => $debug, 
    'identifier' => $identifier 
}; 

ottengo questo errore:

# Perl::Critic found these violations in "filename.pl": 
# Comma used to separate statements at line 356, column 3. See pages 68,71 of PBP. (Severity: 4) 

Ma questo codice viene accettato senza alcuna osservazione:

my $result = { 
    'debug' => $debug, 
    'identifier' => $identifier 
}; 

return $result; 

È davvero meglio scrivere il mio ritorno utilizzando una variabile temporanea, o il critico è sbagliato nel rilevare a Comma used to separate statements mentre sto solo costruendo e restituendo un hashref?

+0

Potrebbe essere d'aiuto se si scrive return '({....});'? – Ingo

+0

Non riesco a riprodurre questo comportamento. Quale versione di 'Perl :: Critic' stai usando? – Borodin

+0

Non riesco a riprodurre il problema: 'perlcritic --brutal -s ValuesAndExpressions :: ProhibitCommaSeparatedStatements so9110962.pl␤so9110962.pl source OK' Forse aggiornare PPI e Perl :: Critic? – daxim

risposta

7

Ho trovato questo errore nella versione 1.105, è andato nella versione 1.116. È stato riparato da qualche parte nel mezzo.

La correzione non è menzionata nei registri modifiche, ma le modifiche PPI sono menzionate. Potrebbe essere stato un errore PPI.

+0

Grazie, l'aggiornamento all'ultima versione ha effettivamente aiutato (e creato una nuova lista di critiche per il codice che in precedenza è passato anche - yay!:]) – Konerak

Problemi correlati