Questions tagged [perl]

Perl (не путать с Perl 6) — высокоуровневый динамический интерпретируемый язык программирования общего назначения.

Для форматирования кода используйте perltidy.

Сборник вопросов

О Perl

ООП

Работа с почтой

Регулярные выражения

Отображение и ввод текста

Разбор HTML

Алгоритмы

Дополнительные ресурсы

498 questions
4
votes
1 answer

Почему ++$x работает быстрее, чем $x++?

Итак, давайте выполним 2 скрипта, и убедимся, что ++$x работает быстрее... Скрипт-1: #!/usr/bin/perl my $x = 0; foreach (1..5_000_000) { $x++; } perl -d:NYTProf test.pl nytprofhtml --open Результат: Скрипт-2: #!/usr/bin/perl my $x =…
69 420 1970
  • 1,951
4
votes
2 answers

Как на Perl выполнять несколько команд одновременно

Поясняю: print "Введите команду:\n"; chomp ($kom = >STDIN>); if ($kom = <условие>) { оператор 1; оператор 2; } else { оператор 3; } И чтобы при выполнении любой ветки ветвления, скрипт продолжал ожидания ввода команды и не дожидаясь…
Asid
  • 171
3
votes
10 answers

Возможности и назначение языка Perl

Доброго времени суток! Хотелось бы узнать стоит ли изучать Perl. Каковы его функциональные возможности, применение и назначение?
IntegralAL
  • 2,695
3
votes
1 answer

Для какой цели используют такой синтаксис?

use lib '/full/path/to'; require 'script.pl';
69 420 1970
  • 1,951
3
votes
1 answer

Особенности возврата результата reverse из функции в Perl

Для предисловия делаем тестовый код, который переводит строку в верхний регистр, немного комбинируя способы вызова и возврата из функций: #!/usr/bin/perl $str="Abc"; $s1=a($str); $s2=b(a($str)); $s3=c($str); $s4=b(c($str)); print "str=$str; …
Mike
  • 44,087
3
votes
2 answers

Странный оператор =>?

Всем известно, что оператор => рассматривает левый оператор как строку. Однако, случайно наткнулся на такое (в жизни такой код врядли встретиться): perl -wle 'use constant X => 1; print (2 + X => 3);' Argument «X» isn't numeric in addition (+) at -e…
Oleg
  • 155
3
votes
1 answer

Помогите понять алгоритм работы автоинкремента(autoincrement operator), применительно к строкам

Приведу пример. Допустим, есть код: $a = "A9"; print ++$a, "\n"; $a = "bz"; print ++$a, "\n"; $a = "Zz"; print ++$a, "\n"; $a = "z9"; print ++$a, "\n"; $a = "9z"; print ++$a, "\n"; Почему вывод будет таким: B0 ca AAa aa0 10 А не…
2
votes
1 answer

Как подключить модуль в Perl, который не прописан в @INC?

При условии, что скрипт и модуль находятся в одной директории, и без указания пути к модулю.
usr13
  • 145
2
votes
1 answer

Параллельное выполнение в perl

Есть некий процесс который я хотел бы распараллелить, нагуглил пример с использованием AnyEvent. По факту через асинхронный таймер: use strict; use warnings; use AnyEvent; use 5.016; use Benchmark; # Для замера выполнения кода my $cv = AE::cv; my…
2
votes
1 answer

вывести число в выражении

есть выражение: my $z = "1 + 1 + 1"; print $z; # 3 как сделать что бы результатом выражения была цифра "3"
usr13
  • 145
2
votes
1 answer

Как прочитать определенную строку, не читая весь файл?

Возможно ли на перле прочитать строку 82158622 из очень большого файла, не читая весь файл? (строки фиксированного размера) Не подскажите, пожалуйста, куда копать? Слышал, что перл позволяет прочитать какую-то строку, не читая файл полностью, если…
69 420 1970
  • 1,951
2
votes
0 answers

/Писать за меня код не надо/ Как вывести элементы, которые появились в директории за определенное время?

В общем, необходимо реализовать следующую тулзу: По сути, это ls, только отличие вот в чем: nel 100 Данная команда должна вывести только те элементы, которые появились в данной директории за последние 100 минут. Просто подскажите, пожалуйста, что…
69 420 1970
  • 1,951
2
votes
1 answer

Какую роль в этом скрипте играет "* *"?

имеется следующий скрипт: echo 'eval{print "Just ";} * * {print "Another ";} * * {print "Perl ";} * * {print "Hacker\n";}' | perl И еще несколько вариантов: echo '@${print "Just ";} * * {print "Another ";} * * {print "Perl ";} * * {print…
69 420 1970
  • 1,951
2
votes
1 answer

Нижнее подчёркивание и -s, что обозначают?

Вот такой код, что за цифры он выдаёт, какой в них смысл? (perl v5.20.2) perl -E 'say -s _' 871 Дополнено Как удалось разузнать _ — это файловый дескриптор, который хранит информацию по предыдущему результату запроса stat к некоему файлу,…
edem
  • 5,970
2
votes
4 answers

Преобразовать файл во множество файлов того же формата

В общем у меня есть задача: Несколько десятков отправителей пишут письма в Яндекс. Их письма попадают в файл в формате Unix mailbox. Это обычный текстовый файл, длина строк не превышает 1000 байт, письма следуют одно за другим. Пример…
1
2 3
13 14