Отправляет email-рассылки с помощью сервиса Sendsay

Perl - подпишись и учись!

  Все выпуски  

Perl - подпишись и учись!


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

 Hi, All!  
    Приветствую всех!
    В прошлом выпуске мы остановились на определении длины массива.
    Сегодня начнём с изменения длины массива. Чтобы изменить число элементов в массиве, достаточно присвоить новое значение переменной $#array, хранящей индекс последнего элемента массива. Вот пример такой операции:
  @array=(1,2,3);
  $#array=10;
  $array[8]='Новый элемент';
  print $array[8];
Результат:
Новый элемент
Кстати, все нововведённые элементы массива получают неопределённое значение undef.
Можно вообще очистить весь массив, присвоив $#array отрицательное число:
$#array=-1;
    Поговорим о некоторых операциях для работы с массивами, которые могут пригодиться. Например, вот как можно объединить два массива:
  @array1=(1,2,3);
  @array2=(4,5,6);
  @array3=(@array1,@array2);
  ##########
  print "$array2[0] == $array3[3]";
Результат: 4 == 4
А вот, как можно выполнить срез массива - часть массива, создаваемая с помощью оператора диапазона. Он имеет формат [х..у] и соответствует массиву с элементами, имеющими индексы х, х+1, ... и далее до у включительно.
  @array=(1,2,3,4,5,6);
  @array2=@array[2..4];
  print join(", ", @array2);
Результат:
3, 4, 5
Splicing. Сращивание массива означает добавление новых элементов из списка, возможно, с заменой элементов, уже хранящихся в массиве. Для этой цели используется операция splice:
  splice массив, смещение, длина, список
  splice массив, смещение, длина
  splice массив, смещение
Если в качестве параметра задан список, то splice удаляет из массива элементы, описываемые параметрами смещение и длина, и замещает их элементами списка.
В списковом контексте функция splice возвращает элементы, удалённые из массива. В скалярном контексте она возвращает последний удалённый элемент из массива (или undef, если элементы не удалялись). При отсутствии параметра длина splice удаляет все элементы до конца массива с элемента с индексом смещение.
Добавление элемента:
  @array=(1,2);
  splice(@array, 2, 0, 3);
  print join(", ", @array);
Результат:
1, 2, 3
Добавляем в конец старого массива новый массив:
  @array=(1,2);
  @array2=(3,4)
  splice(@array, 2, 0, @array2);
  print join(", ", @array);
Результат:
1, 2, 3, 4
Замена одного элемента на другой массив:
  @array=(1,0);
  @array2=(2,3,4);
  splice(@array, 1, 1, 3);
  print join(", ", @array);
Результат:
1, 2, 3
    Инверитирование массива осуществляется при помощи функции reverse:
  @array=(1,2,3);
  @NEW=reverse(@array);
  for (@NEW){print;}
Результат:
321
И напоследок, чтоб закончить с массивами - сортировка массива при помощи функции sort:
Сортируем по возрастанию:
  @array=(2,3,1,-2,5);
  print join(", ",sort({$a <=> $b} @array));
Результат:
-2, 1, 2, 3, 5
А вот, как по убыванию:
  @array=(2,3,1,-2,5);
  print join(", ",sort({$b <=> $a} @array));
Результат:
5, 3, 2, 1, -2
_________________________________________
Владимир Иванов прислал следующий вопрос, цитирую:
"Kak zapustitj CGI script v html faile. Obi4no pi6ut "vstavte ". Gde eto nado stavitj. Ja proboval vezde stavitj no ni4ego ne rabotaet. Esli pistaj <img src=" ... to tozhe ni4ego ne pashet! Help me plizzz !!!! Vovka"
Отвечаю: Во-первых: просьба писать по-русски.
Во-вторых, насколько я понял вы хотите сделать вставку по оносительной ссылке из main directory сgi-скрипта, находящегося в папке cgi-bin. Для этого нужно написать (или ) -различие в присутствии( у вас) и отсутствии в приведенном мной примере косой черты в адресе скрипта. Да, и ещё, существует ли поддержка SSI на вашем сервере? _________________________________________
Разрешите небольшую рекламку, а точнее советик, примерно с месяц назад появился отличный сайт: http://perldoc.narod.ru На нём документация по некоторым модулям языка PERL на русском языке в PDF-формате. Человек сам переводит документацию! Ведь немногие люди любят читать документацию на английском(хотя это очень полезно, ведь сам читаю в оригинале). Обязательно сходите туда, советую!
_________________________________________
P.s. Не взыщите за дизайн рассылки, особенно те, у кого большие мониторы с большим разрешением экрана, вскоре он будет подкорректирован. И ещё, если у вас есть вопросы, то задавайте их на форуме сайта.

Another Banner Network

http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное