#! perl use Modern::Perl; use Data::Dump; my @array1 = ( undef, undef, 'abcd', 'efgh', undef, undef, 'jklm', 'nopq', undef, undef, ); my @array2 = split /\0\0/, join('', map { $_ // "\0" } @array1); @array2 = @array2[1 .. $#array2] unless $array2[0]; dd @array1; dd @array2;