Este debe ser simple suerte. Yo inicializar un array vacío, hacer un grep y colocar los resultados (si los hubiera) y, a continuación, compruebe si está vacío. Así:

my @match = ();
@match = grep /$pattern/, @someOtherArray;
if (#match is empty#) {
    #do something!
}

Lo que es la forma habitual de hacer esto?

  • Puede definir e inicializar @coincidir en la misma línea my @match = grep etc.
InformationsquelleAutor JDS | 2012-10-05

2 Comentarios

  1. 55

    Podrán ver todas estas lenguas se utiliza para probar si una matriz está vacía.

    if (!@match)
    if (@match == 0)
    if (scalar @match == 0)

    Escalar contexto, una matriz es evaluado como el número de elementos que contiene.

    • TMTOWTDI $#match + 1 == 0
    • No olvides unless ( @match )
    • Hacer olvidar unless (@match). (pero eso es sólo, como, a mi juicio, el hombre)
    • Esa opinión está mal. 🙂
    • Son la conversa a estos también verdad? Si quería controlar el comportamiento de cuando al menos un elemento estuvo presente, estoy asumiendo que sería if (@match) y if (@match != 0), pero pensé que deben comprobar
  2. 1

    Si usted está usando un arrayref en lugar de una matriz decir, por ejemplo,

    $my existing_match = data_layer->find('Sale',{id => $id});

    Decir sobre devuelve una matriz, a continuación, utilice:

    if( scalar(@$existing_match) == 0) 

Dejar respuesta

Please enter your comment!
Please enter your name here