my $empty = $opt->{empty} || ''; my $trim_empty = !$empty; my $keep_empty = $empty eq 'fill'; my $empty_replacement = $empty eq 'blank' ? '' : undef; ... if ( length($line) || $keep_empty ) { push @array, $prefix . $line . $suffix; } elsif ( !$trim_empty ) { push @array, $empty_replacement; }