En python, puedo hacer lo siguiente para obtener todos los objetos en una lista con una propiedad específica. En este ejemplo me agarra la lista de campos de cada id
obj
en la lista objs
donde obj.id
es mayor que 100:Perl equivalente a las comprensiones de la lista de Python con la instrucción if incrustada?
ids = [ obj.id for obj in objs if obj.id > 100]
¿Cómo puedo hacer lo mismo en Perl? Creo que quiero usar map
, pero no sé cómo mapear condicionalmente elementos del conjunto de origen al conjunto de destino.
'map + ($ _-> id) x ($ _-> id> 100), @ objs' – ysth
@ysth: Yikes. Creo que salvaría ese para code golf. El operador ternario es mucho más seguro, ya que no tiene que asegurarse de que su condición devuelva solo 0 o 1. – cjm
si tiene dudas, use el operador '() x !!' – ysth