perl пробелы из массива символов

Модератор: Модераторы разделов

Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

perl пробелы из массива символов

Сообщение Slimy »

Вопрос в общем такой как удалить из perl массива символов элементы содержащие пробелы?
пробовал

Код: Выделить всё

  sort @_;
    for(@_){
        s/^\s+|\s+$//g;
    }
    $_[0];

всеравно возращает пробел эта конструкция вместо символа.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: perl пробелы из массива символов

Сообщение xorader »

perldoc -f splice:
splice ARRAY,OFFSET,LENGTH,LIST

Removes the elements designated by OFFSET and LENGTH from an array, and replaces
them with the elements of LIST, if any.....


Ищем -> удаляем
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: perl пробелы из массива символов

Сообщение Slimy »

Она же просто удаляет или заменяет по диапазону индексов. Это не то.
В общем оказалось что это sort() весьма странно себя ведет. Без него все хорошо. Он откудато добавляет пробелы в начало массива! Причем колличество пробелов соотвествует колличеству переданному массиву на обработку в мою функцию. Однако sort получает уже массив после удаления пробелов (пробелы удаляются это проверил) . Вопрос что не так с этим sort(). Если вывести массив через print @ в нем пробелов нет даже после sort! Как то шаманизмом отдает.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
pcodr
Сообщения: 283
ОС: Debian

Re: perl пробелы из массива символов

Сообщение pcodr »

А вы вкурсе что sort возвращает отсортированный список, а не изменяет переданный массив?
К тому же:
QUOTE писал(а):In scalar context, the behaviour of "sort()" is undefined.

remote system type is unix
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: perl пробелы из массива символов

Сообщение Slimy »

Проблему решил. Была в том что пробелы удалялись регеспом но! Оставались пустые элементы в массиве которые при print никак не проявляли себя но влияли на логику работы sort.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали: