in reply to Adding only searched values to array ref

grep in scalar context returns the number of matches, you need to call it in list context to get the actual matching elements back. In your case, just use the dereference on the left hand side of the assignment, too:
@$accounts = grep { !/44443/ } @$accounts; # ^ # | # Here.

Update: But that would work if the elements of @$accounts were strings, but they are not. You need to check the value at the acc key:

@$accounts = grep { $_->{acc} !~ /44443/ } @$accounts;

To add the elements from @$accounts to @$all, use push:

push @$all, @$accounts;

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]