tengo un hash sencilla definido en alguna parte del archivo principalCómo insertar de comprobación aleatoria de hash en Perl
our %translations = (
"phrase 1" => "translation 1",
# ... and so on
);
En otro archivo que desea agregar un poco más traducciones. Es decir, que quiero hacer algo como esto:
push our %translations, (
"phrase N" => "blah-blah",
# ....
"phrase M" => "something",
);
Por supuesto, este código no funcionaría: push
no funciona con los hashes. Entonces mi pregunta es: ¿cuál es una forma simple y elegante de insertar un hash de valores en un hash existente?
No me gustaría que recurrir a
$translations{"phrase N"} = "blah-blah";
# ....
$translations{"phrase M"} = "something";
ya que en Perl que se supone que será capaz de hacer las cosas sin demasiada repetición en el código ...
¡Esto ayuda! Incluso puedo escribirlo como '@translations {keys% $ _} = values $% _ for {" phrase N "=>" blah-blah ", ...};' – Pasha
Esa sintaxis no se me ocurrió, pero es un atajo inteligente. El ciclo lo hace probablemente menos eficiente, pero dudo que la diferencia sea medible. – cjm
bueno, es un ciclo sobre un solo elemento. Una forma más conveniente de asignar el hash anónimo a la variable $ _. – Pasha