Спецификация языка Perl
Abs VALUE
abs VALUEВозвращает абсолютное значение аргумента.
Accept NEWSOCKET, GENERICSOCKET
accept NEWSOCKET, GENERICSOCKETподобно системному вызову accept(2) ждет соединения. Возвращает запакованный адрес, если соединение произошло успешно и FALSE в противоположном случае.
$ARGV
$ARGVСодержит имя текущего файла, из которого происходит чтение.
@ARGV
Содержит массив аргументов командной строки, которые были переданы программе.
Bind SOCKET, NAME
bind SOCKET, NAMEПривязывает сетевой адрес к сокету, также как системный вызов bind в OS UNIX или любой другой системе, поддерживающей BSD Sockets. Если привязка произошла успешно, возвращает TRUE, в противном случае - FALSE. Переменная NAME должна содержать запакованный адрес, соответствующего для сокета типа. Тип адреса для разных видов сокетов определяется в терминах языка C структурой sockaddr, которая представляет собой абстрактный тип, содержащий все данные, необходимые для сокета.
Binmode FILEHANDLE
binmode FILEHANDLEПозволяет читать или писать файл с соответствующим дескриптором в бинарном режиме.
Bless REF, PACKAGE
bless REF, PACKAGEЭта функция присоединяет объект на который указывает ссылка REF, к пакету PACKAGE, если он определен, если же он опущен, то к текущему пакету. Для удобства возвращает ссылку, так как bless() часто является последним оператором в конструкторе.
Caller EXPR
caller EXPRВозвращает контекст текущего вызова подпрограммы. В скалярном контексте возвращает TRUE, если мы находимся внутри подпрограммы, eval() или require(). FALSE в противоположном случае. В списковом контексте возвращает: ($package, $filename, $line) = caller;
С аргументом EXPR возвращает более сложную информацию, которая используется отладчиком для печати карты стека. Значение EXPR отмечает глубину стека до текущей записи. ($package, $filename, $line, $subroutine, $hasargs, $wantargs) = caller($i);
Chdir EXPR
chdir EXPRИзменяет текущую директорию на указанную в EXPR, если это возможно. Если EXPR опущено, то устанавливает в качестве текущей директории домашнюю директорию. Возвращает TRUE в случае успеха и FALSE иначе.
Chmod LIST
chmod LISTИзменяет права доступа к файлам указанным в LIST. Первым аргументом должна быть маска доступа в цифровом формате. Возвращает число файлов права доступа к которым были успешно сменены. $cnt = chmod 0700 'foo','bar'; chmod 700 @executables;
Chown LIST
chown LISTИзменяет хозяина или группу, которой принадлежит список файлов. Первыми двумя аргументами должны быть uid и gid. Возвращает количество успешных изменений.
Chr NUMBER
chr NUMBERВозвращает символ, представленный номером NUMBER в наборе символов. Например, chr(65) вернет A.
Close FILEHANDLE
close FILEHANDLEЗакрывает файл с дескриптором FILEHANDLE. Для более подробной информации читайте manual page. open(OUTPUT '/usr/home/petrov'); ... close OUTPUT;
Closedir DIRHANDLE
closedir DIRHANDLEЗакрывает каталог открытый вызовом opendir().
Connect SOCKET,NAME
connect SOCKET,NAMEПытается соединиться с удаленным сокетом (по аналогии с системным вызовом). Возвращает TRUE в случае успешного соединения и FALSE в противоположном случае. Переменная NAME должна содержать запакованный адрес соответствующего данному сокету типа.
Cos EXPR
cos EXPRВозвращает косинус EXPR, выраженного в радианах. Если EXPR опущено, возвращает косинус $_.
Dbmclose ASSOC
dbmclose ASSOCПрерывает связь между файлом и ассоциативным массивом.
Dbmopen ASSOC, DBNAME, MODE
dbmopen ASSOC, DBNAME, MODEСвязывает dbm(3) или ndbm(3) файл с ассоциативным массивом. ASSOC - имя ассоциативного массива. DBNAME - имя базы данных (без .dir или .pag расширения). Если база данных не существует, то она создается с правами доступа указанными в MODE. dbmopen(%HIST,'/usr/lib/news/history', 0600); while (($key, $val) = each %HIST){ print $key, '=', unpack('L',$val),\n;} dbmclose(%HIST);
Defined EXPR
defined EXPRВозвращает TRUE или FALSE, в зависимости от того определено значение EXPR или нет. Многие операции возвращают неопределенное значение в случае конца файла, неинициализированной переменной, системной ошибки или при подобной ситуации. Если речь идет о хэше, то defined покажет только определены ли ли величины, ничего не говоря о существовании ключей. Для определения существования ключей используется функция exists().
Delete EXPR
delete EXPRСтирает указанную величину. Возвращает удаленную величину или значение не определено в случае, если удаление не произошло. foreach $key (keys %array) { delete $array{$key}; }
Но более быстро то же самое можно сделать используя функцию undef().
Die LIST
die LISTВне eval() печатает значение LIST в STDERR и выходит из программы с текущим значением $!. Если значение $! есть ноль, то принимает значение $? >> 8. Если значение $? >> 8 есть ноль, то принимает значение 255. Внутри eval() сообщение об ошибке помещается в переменную $@ и eval() прерывается с неопределенным значением. open(FL, "/root/rm-rf") die "Can't open file.\n";
$
$Эта переменная была описана в предыдущем параграфе. Она доступна только для чтения, так же как и переменные $&, $`, $' и $+.
Do BLOCK
do BLOCKФункцией не является. Возвращает значение последней операции внутри блока.
Do EXPR
do EXPRИспользует величину EXPR как имя файла и далее запускает содержимое этого файла, как программу на Perl. Обычно это используется для включения библиотечных подпрограмм. do 'stat.pl';
Это то же самое, что: eval 'cat stat.pl';
Однако подключать библиотечные модули более удобно используя use и require.
Each ASSOC_ARRAY
each ASSOC_ARRAYВозвращает массив из двух элементов, содержащий ключ и значение из хэша, причем по очереди перебирает все пары ($key, $value). while (($key,$value) = each %ENV){ print " $key = $value \n"; }
%ENV
%ENVСодержит текущее окружение процесса. Изменением содержимого хэша можно изменить окружение порожденного (дочернего) процесса.
Eof FILEHANDLE
eof FILEHANDLEВозвращает 1, если следующее считывание возвращает конец файла или если FILEHANDLE не был открыт. При опущении аргумента eof обрабатывает последний файл, из которого происходило считывание. Но на практике эта функция редко используется, так как в Perl-е операторы чтения возвращают неопределенное значение в конце файла.
Eval EXPR
eval EXPREXPR выполняется как маленькая программа в контексте основной программы. Определенные переменные и подпрограммы остаются определенными и в дальнейшем. Возвращается значение, которое возникает при обработке последнего выражения. Если EXPR опущено, то обрабатывается $_.
Exec LIST
exec LISTИсполняет внешнюю программу и НИКОГДА не возвращает управление. На самом деле (в UNIX) производится системный вызов семейства exec, который подменяет программу, исполняющуюся в рамках текущего процесса. Если LIST представляет собой список из более, чем одного аргумента, то вызывается execvp(3) с аргументами из LIST. Если аргумент только один, то он проверяется на метасимволы shell. Если они присутствуют, то он далее передается /bin/sh -c для обработки. Если же их нет, то аргумент передается напрямую execvp, который более эффективен.
Exists EXPR
exists EXPRВозвращает TRUE, если в хэше есть ключи и даже в том случае, когда значения VALUE не определены.
Exit EXPR
exit EXPRОбрабатывает EXPR и осуществляет немедленный выход с полученной величиной. $ans =
Если EXPR опущено, то осуществляет выход с нулевым статусом.
Exp EXPR
exp EXPRВозвращает е (основание натурального логарифма e = 2.718281828...) в степени EXPR. По умолчанию обрабатывается $_.
Fork
forkДелает системный вызов fork(2). Возвращает pid (идентификатор процесса) дочернего процесса родительскому процессу и 0 дочернему процессу. Значение не определено в случае неуспешного завершения команды. Неуспех может произойти, например, в случае установки в системе ограничения на количество процессов данного пользователя. Вот небольшой пример использования этой функции. unless ($pid = fork) { unless (fork) { exec "what you really wanna do"; die "no exec"; some_perl_code_here; exit 0; } exit 0; } waitpid($pid,0);
Спецификация языка Perl
getc FILEHANDLEВозвращает следующий символ из файла чтения, присоединенный к FILEHANDLE или пустую строку в случае конца файла. Если FILEHANDLE опущен, то считывание происходит из STDIN.
Спецификация языка Perl
goto LABELЭта функция осуществляет переход на точку программы LABEL и продолжает выполнение программы с этой точки. Точка не может находиться внутри подпрограммы или foreach цикла, так как в этих случаях требуется предварительная инициализация. Использовать в качестве LABEL выражение не рекомендуется, хотя такая возможность и предоставляется.
Спецификация языка Perl
grep EXPR, LISTОбрабатывает BLOCK или EXPR для каждого элемента LIST и возвращает список элементов для которых значение выражения TRUE. В скалярном контексте возвращает число элементов для которых EXPR TRUE.
Hex EXPR
hex EXPRВозвращает десятичное значение EXPR, интерпретируемого как шестнадцатеричная строка. По умолчанию обрабатывает переменную $_.
@INC
@INCСодержит список точек входа в программу, в которых используются конструкции do EXPR, require и use.
%INC
Содержит входы для каждого файла, который включается посредством использования операторов do или require. Ключами являются имена файлов, а значениями места их расположения.
Int EXPR
int EXPRВозвращает целую часть EXPR, если EXPR опущено, то обрабатывает переменную $_.
Join EXPR,LIST
join EXPR,LISTСоединяет в единую строку строки из LIST. При этом в качестве разделителей между элементами LIST ставит значение EXPR. Например: $_ = join( ':',$login,$passwd, $uid,$gid,$gcos,$home,$shell);
Keys ASSOC_ARRAY
keys ASSOC_ARRAYВозвращает обычный массив, состоящий из ключей ассоциативного массива ASSOC_ARRAY. В скалярном контексте возвращает число ключей. @keys = keys %ENV;
Kill LIST
kill LISTПосылает сигнал списку процессов LIST, первым элементом списка должен быть номер сигнала. Возвращает число процессов, которым сигнал был послан успешно. В отличие от shell, если номер сигнала отрицателен, то он посылается группе процессов.
Length EXPR
length EXPRВозвращает длину EXPR в символах. По умолчанию обрабатывает переменную $_.
Link OLDFILE,NEWFILE
link OLDFILE,NEWFILEСоздает файл NEWFILE, присоединенный к файлу OLDFILE. (В OS UNIX создание нескольких имен для одного файла) Возвращает 1 в случае успеха и 0 иначе.
Listen SOCKET, QUEUESIZE
listen SOCKET, QUEUESIZEДелает то же самое, что и одноименный системный вызов. Возвращает TRUE в случае успеха, FALSE иначе.
Local EXPR
local EXPRНа самом деле гораздо эффективнее использовать функцию my. Функция local делает перечисленные переменные локальными в блоке, подпрограмме, eval или do. Если переменных более, чем одна, то они должны объединяться скобками. sub RANGEVAL{ local($min,$max,$thunk) = @_; local $result = ''; local $i; for ($i = $min; $i < $max; $i++) { $result = eval $thunk; } $result; }
Log EXPR
log EXPRВозвращает натуральный логарифм EXPR, по умолчанию обрабатывает переменную $_.
Map EXPR,LIST
map EXPR,LISTПодставляет каждый элемент из списка LIST в EXPR (которое может быть блоком) и возвращает список полученных после обработки величин. @chars = map(chr, @nums);
Mkdir FILENAME,MODE
mkdir FILENAME,MODEСоздает директорию с именем FILENAME и правами доступа указанными в переменной MODE. В случае успеха возвращает 1, в противном случае возвращает 0 и устанавливает значение переменной $!(errno).
My EXPR
my EXPRЭта функция (так же как и описанная ранее функция local) делает перечисленные переменные локальными в пределах блока, подпрограммы, eval или do. Если список состоит более чем из одного элемента, то он должен быть заключен в скобки. Все элементы в списке должны быть фактическими параметрами. В отличие от local, переменные локализованные функцией my не видны снаружи блока, подпрограммы или другой конструкции, внутри которой my употребляется.
Next LABEL
next LABELУпотребляется подобно continue оператору в C - запускает следующую итерацию цикла. line: while (
Oct EXPR
oct EXPRВозвращает десятичное значение EXPR, интерпретируемого как строка в восьмеричном формате. (Если строка начинается с 0x, то интерпретируется, как строка в шестнадцатеричном формате.)
Open DIRHANDLE,EXPR
open DIRHANDLE,EXPRОткрывает директорию с именем EXPR, возвращает TRUE в случае успеха.
Open FILEHANDLE,EXPR
open FILEHANDLE,EXPRОткрывает файл, имя которого описано в переменной EXPR и привязывает его к FILEHANDLE. Если EXPR опущено, то переменная с таким же именем как FILEHANDLE содержит имя файла. Если имя файла начинается со знака: ¯ < файл открывается на чтение. > файл открывается на запись. >> файл открывается для добавления. | имя файла расценивается как команда, с которой будет организован программный канал, то есть вывод в дескриптор FILEHANDLE будет передаваться на вход программе EXPR.
Если знак | указывается после имени команды, то вывод этой команды будет ассоциирован с дескриптором FILEHANDLE, из которого будет производиться чтение. Интересно, что нельзя открыть двойной программный канал, то есть ассоциировать ввод и вывод команды с дескриптором файла (что соответствовало бы системному вызову popen в UNIX).
В случае, когда имя файла оканчивается вертикальной чертой, оно расценивается как имя команды, вывод которой будет интерпретироваться как ввод из файла (аналог функции popen(3)). open(LOG, '>>/usr/spool/news/twitlog');
Ord EXPR
ord EXPRВозвращает числовое значение в таблице ASCII первого символа EXPR. По умолчанию обрабатывает переменную $_.
Print FILEHANDLE,LIST
print FILEHANDLE,LISTПечатает строку или несколько строк, разделенных запятой. FILEHANDLE может быть именем скалярной переменной, содержащей дескриптор файла. Если эта переменная опущена то печать идет в выбранный канал вывода. Если переменная LIST тоже опущена, то печатает переменную $_ в STDOUT.
Printf FILEHANDLE, LIST
printf FILEHANDLE, LISTЭквивалентно print FILEHANDLE, sprintf(LIST). Первый аргумент LIST интерпретируется как формат печати.
Rand EXPR
rand EXPRВозвращает выбранное случайным способом значение между 0 и EXPR. EXPR должно быть положительным. По умолчанию производит выборку в диапазоне между 0 и 1. (Замечание: если ваша функция постоянно возвращает слишком большие или слишком малые значения, то скорее всего была допущена ошибка при компиляции вашей версии Perl. Было установлено неверное значение RANDBITS.)
Read FILEHANDLE,SCALAR,LENGTH,OFFSET
read FILEHANDLE,SCALAR,LENGTH,OFFSETСчитывает LENGTH байт данных из FILEHANDLE в переменную SCALAR. Возвращает число считанных байт или неопределенное значение в случае ошибки. Если вы хотите считать данные не с начала строки, то для этого нужно установить значение переменной OFFSET.
Readlink EXPR
readlink EXPRВозвращает значение символьной ссылки, если она существует. Если же ее нет, то выдает fatal error и устанавливает значение переменной $!. По умолчанию обрабатывает переменную $_.
Redo LABEL
redo LABELПерезапускает цикл без повторной обработки условия. Блок continue, если он есть не исполняется. Если LABEL опущена, то команда выполняется для внутреннего цикла. line: while(
Ref EXPR
ref EXPRВозвращает TRUE, если EXPR является ссылкой и FALSE в противоположном случае. Полученное значение зависит от типа объекта на который указывает ссылка. Существует несколько встроенных типов данных:
Если объект, на который указывает ссылка, находится в пакете (package), то в таком случае возвращается имя пакета. if (ref($r) eq "HASH") { print " Это ссылка на ассоциативный массив.\n"; } if (!ref($r)) { print " А это не ссылка вовсе! \n";
Require EXPR
require EXPRИспользуется для подключения модулей. require "oraperl.pm";
Reset EXPR
reset EXPRОбычно используется в continue блоке в конце цикла для переустановки значений переменных. EXPR интерпретируется как список отдельных символов. Значения переменных и массивов, имена которых начинаются с одного из этих символов списка переустанавливаются. Например: ¯ reset 'X' переустановит все X переменные reset 'a-z' переустановит все переменные, имена которых состоят из маленьких букв.
Rm FILENAME
rm FILENAMEУдаляет файл или директорию с заданным именем. Возвращает 1 в случае успеха, 0 в противоположном случае и устанавливает значение переменной $!. По умолчанию обрабатывает аргумент $_.
Scalar EXPR
scalar EXPRВыражение будет трактоваться в скалярном контексте. Возвращает значение EXPR.
Seek FILEHANDLE, POSITION, WHENCE
seek FILEHANDLE, POSITION, WHENCEПозволяет установить курсор в файле, определенном в переменной FILEHANDLE, на позицию POSITION в режиме, указанном в переменной WHENCE. Если переменная WHENCE содержит значение 0, то позиция отсчитывается от начала файла, если 1 то от текущей позиции и если 2, то от конца файла. Возвращает 1 в случае успеха и 0 иначе.
Select FILEHANDLE
select FILEHANDLEВозвращает текущий выбранный FILEHANDLE. Направляет вывод в FILEHANDLE.
Select RBITS,WBITS,EBITS,TIMEOUT
select RBITS,WBITS,EBITS,TIMEOUTВызывает системный вызов select(2) с определенной аргументами битовой маской.
Shift ARRAY
shift ARRAYСдвигает массив ARRAY влево с удалением первого элемента и возвращает удаленный элемент. Если в массиве нет элементов, то возвращает неопределенное значение. Если ARRAY опущен, то обрабатывает массив @ARGV в главной программе и массив @_ в подпрограммах.
%SIG
%SIGЭтот хэш используется для установки обработчиков различных сигналов. Например: sub handler { local($sig) = @_; print "Caught a SIG$sig - shutting down\n"; close(LOG); exit(0); } $SIG{'INT'} = 'handler'; $SIG{'QUIT'} = 'handler'; ... $SIG{'INT'} = 'DEFAULT'; $SIG{'QUIT'} = 'IGNORE';
Sin EXPR
sin EXPRВозвращает синус выражения EXPR (выраженного в радианах). Если аргумент опущен, то обрабатывается переменная $_.
Sleep EXPR
sleep EXPRДает процессу команду остановки на EXPR секунд. Если аргумент опущен, то процесс зависает навсегда. В таком случае ``сон'' можно прервать, послав ему сигнал. Возвращает число секунд, в течение которых процесс был в состоянии остановки.
Socket SOCKET,DOMAIN,TYPE,PROTOCOL
socket SOCKET,DOMAIN,TYPE,PROTOCOLСоздает сокет и привязывает его к дескриптору файла SOCKET. Остальные параметры описываются так же, как и в одноименном системном вызове. В начале программы необходимо написать use Socket;.
Sort SUBROUTINE,LIST
sort SUBROUTINE,LISTСортирует аргументы из LIST и возвращает отсортированный список. Если список является массивом, то несуществующие элементы массива не учитываются и не возвращаются. Ниже приведено несколько примеров. @articles = sort @files;
- Лексическая сортировка без использования подпрограммы. @articles = sort{$a cmp $b} @files;
- То же самое, но с использованием подпрограммы. @articles = sort{$a <=> $b} @files;
- Численная сортировка по возрастанию.
Спецификация языка Perl
Спецификация языка PerlАлена Федосеева
Splice ARRAY,OFFSET,LENGTH,LIST
splice ARRAY,OFFSET,LENGTH,LISTУдаляет из массива ARRAY элементы, отмеченные в переменных OFFSET и LENGTH и заменяет их элементами списка LIST, если таковые имеются. Возвращает удаленные из массива элементы. Длина массива растет или уменьшается, если это необходимо. Если переменная LENGTH опущена, то удаляет все, начиная с OFFSET.
Split /PATTERN/,EXPR,LIMIT
split /PATTERN/,EXPR,LIMITРазбивает строку на массив строк и возвращает его. В скалярном контексте возвращает число полученных полей и помещает полученный массив в @_. Если EXPR опущено то разбивается строка $_. Если PATTERN тоже опущен, то разбиение происходит по символу пробел. Символы, указанные в PATTERN, служат разделителями для полей. Разделители могут быть длиннее, чем один символ. Если переменная LIMIT задана и имеет неотрицательное значение, то разбиение будет происходить на число полей не более указанного в LIMIT. Если переменная не определена, то пустые поля отбрасываются, если имеет отрицательное значение, то это интерпретируется Perl-ом, как отсутствие ограничения на длину возвращаемого массива. Если шаблону соответствует пустая строка, то EXPR будет разбито на отдельные символы. Например: print join(':',split(/ */,'hi there'));
напечатает строку h:i:t:h:e:r:e.
Sqrt EXPR
sqrt EXPRВозвращает корень квадратный из значения EXPR. По умолчанию обрабатывает переменную $_.
System LIST
system LISTДелает то же самое, что и функция exec LIST, за одним исключением: вместо того, чтобы просто начать выполнять программу , как это делает exec, system делает fork и порождает еще один процесс, причем родительский процесс ждет завершения дочернего.
Tell FULEHANDLE
tell FULEHANDLEВозвращает текущую позицию курсора в файле FILEHANDLE. Если аргумент опущен, то обрабатывает файл, который читался последним.
Tie VARIABLE,PACKAGENAME,LIST
tie VARIABLE,PACKAGENAME,LISTПривязывает переменную к пакету, который будет заносить значения в эту переменную. Переменная VARIABLE содержит имя переменной, переменная PACKAGENAME содержит имя пакета. Дополнительные аргументы передаются методу new этого пакета. Обычно это такие аргументы, которые в дальнейшем могут быть переданы в качестве параметров dbm_open() функции из C. tie(%HIST, NDBM_File,'/usr/lib/news/history', 1, 0); while(($key,$val) = each %HIST) { print $key, '= ', unpack('L',$val),"\n"; } untie(%HIST);
Пакет, реализующий ассоциативный массив, должен содержать следующие методы:
TIEHASH objectname, LIST
DESTROY this
FETCH this, key
STORE this, key, value
DELETE this, key
EXISTS this, key
FIRSTKEY this
NEXTKEY this, lastkey
Пакет, реализующий обычный массив, должен содержать следующие методы:
TIEARRAY objectname, LIST
DESTROY this
FETCH this, key
STORE this, key, value
Пакет, реализующий скаляры, должен содержать следующие методы :
TIESCALAR objectname, LIST
DESTROY this
FETCH this
STORE this, value
Truncate FILEHANDLE, LENGTH
truncate FILEHANDLE, LENGTHОбрезает файл FILEHANDLE до заданной длины.
Undef EXPR
undef EXPRДелает значение EXPR неопределенной величиной, в случае, когда аргумент опущен ничего не меняет. Не следует пытаться применять эту функцию к зарезервированным переменным, потому что результат может оказаться непредсказуемым.
Unlink LIST
unlink LISTУдаляет список файлов и возвращает число удачно удаленных файлов. Если вы не являетесь суперпользователем, то эта функция не может удалять каталоги. Даже в случае, когда программа запускается с привилегиями суперпользователя, будьте осторожны, лучше использовать функцию rmdir.
Unshift ARRAY, LIST
unshift ARRAY, LISTПроизводит действие противоположное действию функции shift. Присоединяет LIST к началу массива ARRAY и возвращает новое количество элементов в массиве.
Untie VARIABLE
untie VARIABLEРазрывает связь между переменной и пакетом.
Use Module LIST
use Module LISTОсуществляет присоединение модуля к программе. use strict qw(subs,vars,refs);
Values ASSOC_ARRAY
values ASSOC_ARRAYВозвращает обычный массив, состоящий из значений ассоциативного массива ASSOC_ARRAY. В скалярном контексте возвращает число элементов полученного массива. Элементы массива могут располагаться в произвольном порядке.
Wantarray
wantarrayВозвращает TRUE, если контекст исполняющейся подпрограммы списковый, FALSE в противоположном случае.
Write
writeсоздает запись (возможно состоящую из нескольких строк) в соответствующем файле, используя формат ассоциированный с этим файлом. Формат для текущего канала вывода может быть установлен посредством присваивания переменной $~{ } имени формата.
Программирование: Языки - Технологии - Разработка
- Программирование
- Технологии программирования
- Разработка программ
- Работа с данными
- Методы программирования
- IDE интерфейс
- Графический интерфейс
- Программирование интерфейсов
- Отладка программ
- Тестирование программ
- Программирование на Delphi
- Программирование в ActionScript
- Assembler
- Basic
- Pascal
- Perl
- VBA
- VRML
- XML
- Ada
- Lisp
- Python
- UML
- Форт
- Языки программирования