@fks = grep { not $_->table_to->name eq $orig_fk->table_from->name and $col->eq([$orig_fk->columns_from], [$_->columns_to]) } @fks; # After B::Deparse @fks = grep { if (! $_->table_to->name eq $orig_fk->table_from->name) { $col_eq->([$orig_fk->columns_from], [$_->columns_to); } } @fks; #### @fks = grep { my $r = not $_->table_to->name eq $orig_fk->table_from->name and $col->eq([$orig_fk->columns_from], [$_->columns_to]) $r; } @fks; # After B::Deparse @fks = grep { if (my $r = ! $_->table_to->name eq $orig_fk->table_from->name) { # Note that $r isn't being written to $col_eq->([$orig_fk->columns_from], [$_->columns_to); } $r; } @fks; #### @fks = grep not( $_->table_to->name eq $orig_fk->table_from->name and $col->eq([$orig_fk->columns_from], [$_->columns_to]) ), @fks; # OR @fks = grep not $_->table_to->name eq $orig_fk->table_from->name && $col->eq([$orig_fk->columns_from], [$_->columns_to]), @fks;