Каждый, наверное, слышал и не раз сталкивался с мощнейшим языком программирования Perl. Это действительно так: мощная среда, позволяющая программировать как_тебе_хочется в буквальном смысле этого слова. Иными словами ты можешь записать код различными способами. Например:
if (a == b) { c = d }
можно записать иначе:
c = d if a == b;
Согласись, намного удобнее - лишние составные операторы нам ни к чему 🙂
"Волшебные" переменные
В Perl`е очень много замечательных переменных, на выделение которых программистом потребовалось бы много времени и кода. Постараюсь перечислить некоторые из них:
$0 - выделение базового имени программы-скрипта. Часто используют в распечатке флагов использования программы.
$1 ... $N - переменные, которые обретают свое значение в регулярных выражениях, заключенных в скобки. К примеру после такой строки:
$var=~/(.*)test-(.*)/;
значение $1 будет определено любыми символами до слова 'test', а $2 - после 'test-'.
$+ - содержит значение последней переменной для последнего успешного поиска. Это помогает узнать, какой вариант был обнаружен при альтернативном поиске, например для
/(x,*y)|(y.*z)/
в переменной $+ будет хранится содержимое $1 или $2 (в зависимости от результата поиска).
$/ - Переменная разделения записей.
Если необходимо не разделять символами перехода строки символы при чтения файла, то данную переменную необходимо удалить, либо придать ей значение, в зависимости от ситуации. Например, читаем файл, и помещаем его содержимое в одну большую строку:
open(FILE,"file.txt");
undef $/ # Уничтожаем $/
while (<FILE>) { $bigstring=$_ }
close(FILE);
$_ - переменная по умолчанию.
Играет огромное значение и не обременяет программиста созданием новых дополнительных переменных. Хранит в себе текущий обрабатываемый элемент (актуальна для циклов). В ряде случаев ее вообще можно пропускать.
Например
while (<FILE>) {
chomp $_;
print "$_"
}
можно записать проще:
while (<FILE>) {
chomp;
print
}
Подразумевается, что параметром вызываемых процедур является $_.
$! - переменная последней ошибки.
Хранит в себе последнюю ошибку. Удобна в случае, когда необходимо узнать, что помешало открыть файл // прочитать данные и т.п. , например:
open(testfile,"test.txt") || die print "$!\n";
Вот пожалуй наиболее популярные так называемые, волшебные переменные. Их значение я уже называл чуть выше.
В следующей части я рассмотрю некоторые полезные регулярные выражения и процедуры языка Perl.
Вопросы? Пишите на e-mail. Постараюсь ответить.