- Последний эл. в arrayref
- Сортировка списка через get запрос
- Текущая дата
- Регулярка трима
- Старые вопросы
- Специальные переменные в perl
There is More Than One Way To Do It - TWTOWTDI - “Тим Тоуди”
Попалась довольно интересная статья Ларри Уолла про дизайн языка Perl http://wall.org/~larry/natural.html Может помочь понять особенности перла
http://perl-tutorial.org/ - список всяого туториала
Последний эл. в arrayref
my $test = [1,2,3];
for my $index ( 0..$#$test ){
print 'index = ' . $index . '; el = ' . $test->[$index] . "\n";
};
__DATA__
$ perl last_el.pl
index = 0; el = 1
index = 1; el = 2
index = 2; el = 3
Сортировка списка через get запрос
my @sort = $c->req->param('order_by') ? map { ( $_ =~ m/^(\-?)\s*(.+)$/ && $1 eq '-' ? [$2,'DESC'] : [$2,'ASC'] ) } $c->req->param('order_by') : [ 'name', 'ASC' ];
Текущая дата
my @lt = localtime( time );
printf("Сегодня - %02d.%02d.%d %02d:%02d\n", $lt[3], $lt[4] + 1, $lt[5] + 1900, $lt[2], $lt[1]);
# Сегодня - 03.03.2018 10:52
Регулярка трима
$search_string =~ s/^\s+|\s+$//g;
Старые вопросы
Чем список отличается от массива
TODO
Как проверять и в чем разница, значение хеша в if-е? exists, defined, или просто условие?
TODO
Какой из способов создания обьекта использовать, ведь они оба работают?
my $obj = Some::Class->new($params);
my $obj = new Some::Class $params;
Специальные переменные в perl
Переменная | Описание | Значение по умолчанию |
---|---|---|
$ARG $_ |
Получает значение по умолчанию, если не обьявлена другая переменная | |
$OS_ERROR $ERRNO $! |
Содержит сообщение об ошибке выполнения системного вызова, например открытие несуществующего файла. Частая запись:
|
|
$EVAL_ERROR $@ |
Содержит сообщение об ошибке произошедшей внутри eval.
|
|
$PERL_VERSION $] |
Содержит версию perl запущеного процесса.
|
|
$0 | Содержит название запускаемого скрипта
|
|
$$ | Содержит пид процесса | |
$. | ||
$/ | ||
$\ | "\n" | |
$| | OUTPUT_AUTOFLUSH | 0 |
$< | Содержит uid пользователя запустившего скрипт. Можно использовать чтобы проверить запуск из под рута
|