|
Демонстрира
стандартните начини за дефиниране и модифициране на масив.
Пример 1
Ефект
при използването на функция reverse
и масив.
Пример 2
Въведение във функцията join. Функцията създава скалар, който представлява налепени един за друг елементите на даден списък. Като първи параметър получава скаларен стринг, определящ разделителя, който следва да се използва при слепване на елементите от списъка, подаван като втори аргумент.
Пример 3
Детайлни примери с
join и
map. Представяне на функцията
map - като първи
параметър получава поредица от операции, затворени от фигурни скоби в своеобразен програмен блок.
map последователни итерира върху елементите на списък, подаван като втори аргумент, като всеки елемент на списъка се подава
на програмния блок през променливата $_. Резултатът от изпълнението на map е нов
списък, елементите на който приемат стойността генерирана от последната операция в програмния блок. map
е най-общо казано функция, която предоставя механизъм за трансформиране на едно множество в друго без загуба на елементи и със
запазване на индексите.
Прост пример, който демонстрира комбинация от обратен апостроф
" ` " и join. По традиция от
shell програмирането, в
perl стринга затворен в обратни апострофи се приема за shell команда и
бива изпълняван като такава. Резултатът се връща в списък, всеки ред от който отговаря на ред от изхода от изпълнения стринг-команда.
Примерът има за цел да филтрира само уникалните елементи от даден списък. За
целта се използва функцията grep
в комбинация с помощен асоциативен масив.
grep е мощна вградена функция имаща
поведение подобно на инструментът греп от unix shell средата. Като първи елемент
grep получава програмен блок или логически израз, който в крайна сметка се очаква да върне истина (true)
или лъжа (false). Итерирайки по елементите на списък, който се получава като втори аргумент,
grep предава на програмния блок през променливата $_ стойността на всеки елемент. Крайната стойност (true
или false), която се получава при изпълнение на блока, определя дали grep
да филтрира или да остави съответния елемент. Когато стойността е true, елементът
присъства в крайния списък генериран от работата на grep, в противен случай - не.
Следния пример демонстрира използването на функциите shift, pop и push, които са основни при операции добавяне/изтриване на елементи от даден списък. shift екстрактва първия елемнт от списък предаден като аргумент. pop и push съответно създават механизъм за манипулиране на списъците като стекове - добавят и изваждат елементи от края на списъка.
В примера се демонстрира и получаване на индекса на последния елемент на даден
списък (посредством $# в комбинация с името на списъка), получаване броя на елементите в списъка с помоща на
scalar() и индексиране на списък отзад напред ( с помоща на отрицателни индекси ).
Примерът представя операторите за цикъл
for и foreach и различните
конкструкции, в които те са валидни. Обръща се внимание и на операторите next и last
за излизане от цикъл и форсиране на преход към следващия елемент (съответно еквивалентни на continue и
break от C/C++).
Примерът илюстрира използването на т.нар. списъчни отрязъци (array slices). С тяхна помощ лесно могат да бъдат избрани само определени елементи от даден списък като за целта вместо единичен индекс, в квадратните скоби след името на списъка се подава друг списък (или казано с други думи - задава се индексиращо множество). С помоща на индексиращото множество се определят именно онези елементи, до които се осъществява достъп. Примерът демонстрира и използването на операторът "..", който в зависимост от левия и десния си аргумент генерира списък със последователни стойности. Ако вместо числа на ".." бъдат подадени стрингове се генерира списък с елементи съдържащи се между двата аргумента според възходяща лексикографска наредба.
Примерът представя операторите за цикъл while и do while и валидните конструкции, в които се използват.
Пример 10
Примерът демонстрира оператора splice, който заменя определени елементи от масив от дадена позиция с дадено отместване, с елементите от друг масив. Резултатът от оператора са премахнатите елементи. В случай, че списъка съдържащ новите елементи е празен, то splice има ефекта на "отрязване" на посочените елементи от масива.
|