Ho una matrice di HTML::Element
s ottenuta da HTML::TreeBuilder
e HTML::Element->find
e devo assegnare il loro valore as_text
ad alcune altre variabili. So che posso davvero fare facilmenteCreazione di una matrice dalla funzione oggetto utilizzando la mappa
my ($var1, $var2) = ($arr[0]->as_text, $arr[1]->as_text);
ma speravo che potrei usare map
invece solo per rendere il codice un po 'più leggibile in quanto vi sono almeno 8 elementi dell'array. Sono davvero nuovo di Perl quindi non sono abbastanza sicuro di cosa fare.
Qualcuno può indicarmi la giusta direzione?
Questo io È un grosso problema di preferenze personali, ma preferisco usare la forma EXPR di 'map' quando la trasformazione è abbastanza semplice:' map $ _-> as_text, @ arr'. – hobbs
@hobbs: lo faccio spesso, ma non ero sicuro che $ _-> as_text funzionasse come previsto in quel caso. So che 'map chr, @ arr' funziona, ma non sapevo se le chiamate al metodo potevano essere fatte per funzionare allo stesso modo. Suppongo che l'unico modo per scoprirlo è testarlo, ma in questo caso specifico preferisco usare le parentesi. –
@hobbs 'map EXPR, LIST' è anche più veloce di' map BLOCK LIST', ma io sono un sucker per quest'ultimo. –