- avsZip => bytes_substr($_->zip, 0, 10),
- avsAddress1 => bytes_substr($_->address1, 0, 30),
- avsAddress2 => bytes_substr($_->address2, 0, 30),
- avsCity => bytes_substr($_->city, 0, 20),
- avsState => bytes_substr($_->state, 0, 2),
- avsName => bytes_substr($_->first. ' '. $_->last, 0, 30),
+ # truncate_egc will die() on empty string
+ avsZip => $_->zip ? truncate_egc($_->zip, 10, '') : undef,
+ avsAddress1 => $_->address1 ? truncate_egc($_->address1, 30, '') : undef,
+ avsAddress2 => $_->address2 ? truncate_egc($_->address2, 30, '') : undef,
+ avsCity => $_->city ? truncate_egc($_->city, 20, '') : undef,
+ avsState => $_->state ? truncate_egc($_->state, 2, '') : undef,
+ avsName => ($_->first || $_->last)
+ ? truncate_egc($_->first. ' '. $_->last, 30, '') : undef,