Perl join()игнорирует (пропускает) значения пустого массива; PHP implode()не похоже.
Предположим, у меня есть массив:
$array = array('one', '', '', 'four', '', 'six');
implode('-', $array);
дает:
one---four--six
вместо (ИМХО предпочтительнее):
one-four-six
Есть ли другие встроенные модули с тем поведением, которое я ищу? Или это будет заказная работа?
joinне пропускает неопределенные элементы. Фактически, они приводят к предупреждению.$a[0]="a"; $a[2]="c"; say join "-",@a;отображаетUse of uninitialized value within @a in join or stringиa--c. Можно использоватьjoin '-', grep !defined, ...для пропуска неопределенных значений.grep !length,будет делать пустые строки.