Da perlop:
L'operatore =>
è sinonimo di virgola, tranne che provoca la sua left operando da interpretare come stringa se inizia con una lettera o underscore ed è composto solo da lettere, cifre e caratteri di sottolineatura.
Ciò include operandi che potrebbe altrimenti essere interpretati come operatori, costanti, numero unico v-string o chiamate di funzione. In caso di dubbi sul comportamento di , l'operando di sinistra può essere quotato in modo esplicito.
caso contrario, l'operatore => si comporta esattamente come l'operatore virgola o elenco separatore di argomenti, secondo contesto.
Ad esempio:
use constant FOO => "something";
my %h = (FOO => 23);
è equivalente a:
my %h = ("FOO", 23);
NO:
my %h = ("something", 23);
L'operatore =>
è utile nella documentare la corrispondenza tra chiavi e valori in hash e altri elementi accoppiati negli elenchi.
%hash = ($key => $value);
login($username => $password);
Da PBP:
Ho trovato alcune buone informazioni da Perl Best Practices circa Fat virgole=>
e penso che dovrebbe essere bello parlare qui pure.
E 'meglio prenotare il grasso Comma esclusivamente per le seguenti cose: -
usarlo quando costruire un hash:
my %h = (FOO => 23);
o quando passa argomenti con nome ad una subroutine es. ,
$text = format_text({FOO => 23, BAR => 30});
o quando c REAZIONE una costante:
Readonly my $FOO => "23";
Per ulteriori dettagli vedere il Capitolo 4: Valori e sezione del Perl Best Practices espressioni (Fat virgole).
Leggere la documentazione. Dovresti aver automaticamente raggiunto [perldoc perlop] (http://perldoc.perl.org/perlop.html), il luogo in cui è possibile trovare le informazioni sugli operatori, prima che tu lo abbia postato, e poi potresti fare una domanda di chiarimento se devi. Sta diventando davvero noioso avere così tante risposte che citano semplicemente dalla documentazione - questo NON sta aggiungendo conoscenza. – Ether
Abbastanza giusto. A mia difesa, ho fatto Google, che ha rifiutato la ricerca di '=>'. – Lazer
Ma contro la tua difesa, a quanto pare hai rinunciato dopo. –