WDH Perl - вградени функции

Chomp функция премахва от подниза линия терминал, съответстващ на текущия запис сепаратор, т. е. на съдържанието на променливата $ /. Ако аргументът е даден списък. тази функция се прилага към всеки елемент от списъка. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. Резултатът е функция от общия брой на знаците премахнати.

Основната му приложение е премахването на терминални нов ред символи, когато четете линията на текстов файл, по ред, например:

Ако $ \ равна на undef или съдържа позоваване на номера (за записи с фиксирана дължина), тази функция не изтрива всичко.

котлет функция премахва последния символ на низа го и го връща. Ако аргументът е даден списък. тази функция се прилага към всеки елемент от списъка и връща последната от изтрити героите. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. например:

крипта функция кодира входния низ с помощта на код низа и връща резултата. Кодът трябва да се състои от два символа, лежащи в интервала [./0-9A-Za-z]. Steam декодиране функция в Perl не е, така че практическото прилагане на тази функция не е така.

индекс функция търси в низ е посочено подниз. като се започне на съответната позиция или от началото на низа, ако положението се пропуска. Тя връща позицията на подниз в оригиналния низ, или -1, ако не бъде намерено низа. например:

LC функция конвертира всички символи в низа в малки. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. Ако използвате директивите използват локал. преобразуването се извършва въз основа на текущия локал. например:

lcfirst функция преобразува низ първия характер малки букви. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. Ако използвате директивите използват локал. преобразуването се извършва въз основа на текущия локал. например:

Функцията дължина връща броя на знака на ред. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. например:

функция Rindex търси в низа е посочено подниз от дясно на ляво, като се започне на съответната позиция или в края на линия, ако положението се пропуска. Тя връща позицията на подниз в оригиналния низ, или -1, ако не бъде намерено низа. например:

SUBSTR върху връща подниз на предварително определена дължина. започвайки от даденото офсет. Ако офсет е отрицателна, а след това се брои от края на линията. Ако дължина е пропуснат, екстрахираните символи в края на реда; ако е отрицателна, тя се добавя към дължината на низа. например:

Ако низът е зададен променлива, а след това тази функция може да има четвърти аргумент, с който се определя низ използва за замяна на определения подниза, например:

Този пример може да се запише като:

функция UC конвертира всички символи в низа в малки. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. Ако използвате директивите използват локал. преобразуването се извършва въз основа на текущия локал. например:

ucfirst функция преобразува първия знак с главна буква. Ако аргументът е пропуснат, низа се приема за равна на стойността на $ _. Ако използвате директивите използват локал. преобразуването се извършва въз основа на текущия локал. например:

Запълване с нули в определена позиция.

Шаблоните са предмет на следните правила:

Функцията пакет разархивира низа. опаковани функция пакет (). Тя връща масив от получените стойности (скаларен контекст връща първата стойност, получена). Правила разопаковане на определен низ модел. чиято структура е същата като на опаковката (). Допълнителни шаблони могат да съдържат преди писмото се посочват видът на декомпресия, префикс% N. което показва, че искаме да не е в резултат на декомпресия, както и неговите п-битовия контролна. Други подробности виж. Функцията описание пакет (). Следният пример показва ефективен начин да се преброят на бита данни в променливата $ маска:

VEC функция изследва низ експресия като масив, състояща се от елементи с определена ширина в бита. Тя поема елемент с определен обем и го връща. Ширината трябва да бъде степен на 2 в границите от 1 до 32 (или 64 64-битови платформи), отместването се тълкува като положително цяло. например:

Vec функция може да се използва от лявата страна на оператора на задача за образуване на множество групи от битове в линия. Например, ние може да генерира по-горе низ $ х, както следва:

Функцията връща поз позиция в аргумент низ след последния мач модификатор г. Ако аргументът е пропуснат, се приема равна на стойността на $ _. Тази функция може да се използва от лявата страна на работа задача да се създаде нова позиция. Тази задача променя поведението на заместващия \ G в следващите сравнения. Вижте. Повече стр. 6.4.6.1.

quotemeta функция добавя аргумент низ на '\' символ пред всеки нелатински букви или цифри и връща нов низ като резултат. Ако аргументът е пропуснат, се приема равна на стойността на $ _. Това е вътрешна функция, която изпълнява маска \ Q. например:

Функцията за разделяне разделя входния низ от низ и връща списък с поднизове. В скаларен контекст поставя списък на поднизове в масива @_ и връща нейната дължина. Ако един ред е пропуснат, се приема като стойността на променливата $ _. Разделяне на поднизове настъпва при позиции съвпадение с предварително определен модел; ако е пропуснат, след разделянето се извършва на място характер, с водещи пространства във всяка подниз отстранява. Ако пробата съдържа скоби, подниза се сравнява с експресията в скобите са включени в списъка на резултатите като отделни елементи.

Ако срокът е настроен и положителен, тя определя максималния брой на възстановими поднизове. Ако бъде пропуснат или равна на нула, крайните празни низове, не са включени в списъка с резултати. Ако е отрицателен, той се връща цялата извлича подниз. примери:

проучване функция съставя линия (или стойността на променливата $ _. Ако се пропусне) във вътрешна представяне. Ако се очаква линията да съвпада много пъти с пробата, съставянето му да спестите време, по време на следващите операции на сравнение. По всяко време, само един ред може да бъде съставен; проучване функция заявление до друга линия отменя компилация от текущия ред. например: