Описание тега special-variables

1 ответ

Любая документация для $^I в Perl?

Я использовал $^I в скрипте perl искать и заменять условно. Я хочу знать, $^I делает копию файла в буфере и записывает обратно весь буфер обратно в файл после обработки буфера или делает это при редактировании строки. Код выглядит следующим образом …
27 дек '13 в 23:51
3 ответа

Что означает специальная переменная perl $-[0] и $+[0]

Я хочу знать значение специальных переменных Perl $-[0] а также $+[0] Я гуглил и обнаружил, что $- представляет количество строк, оставшихся на странице и $+ представляют последнюю скобку, соответствующую последнему шаблону поиска. Но мой вопрос в т…
1 ответ

Как семантика "лексическая и специальная переменная" реализуется вообще под капотом?

CLtL2 прояснил различие между областью применения и объемом. В отношении лексических и специальных переменных я полагаю, что лексические переменные "лексически ограничены с неопределенной степенью", а специальные переменные "неопределенно ограничен…
1 ответ

В Perl IRS ($/) изменен, но, кажется, прокручивает чтение

Я сделал много поиска по области видимости при использовании местных. Отсюда я понимаю: http://www.perlmonks.org/?node_id=94007 что он временно меняет значение переменной между выполнением "локальной" строки и достижением следующего конца блока. Одн…
30 май '13 в 16:36
1 ответ

Perl неявное закрытие сбрасывает $. переменная

Документация для Perl's close говорится, что $. не сбрасывается, если вы используете неявное закрытие, выполненное open, Я пытался понять, что именно это значит, но не смог этого добиться. Вот мой сценарий: use strict; use warnings; use autodie; my…
25 янв '13 в 00:39
3 ответа

Отслеживание количества элементов в массиве повторяется?

Есть ли способ, которым количество элементов, повторяемых в цикле for, можно отследить в perl: Как с помощью специальных переменных: @arrayElements = (2,3,4,5,6,7,67); foreach (@arrayElements) { # Do something # Want to know how may elements been it…
16 апр '13 в 16:59
2 ответа

Что означает __FILE__ == $PROGRAM_NAME в ruby?

Я наткнулся на этот синтаксис при рассмотрении кода в Ruby. Код является: if __FILE__ == $PROGRAM_NAME #some code... end Я полагаю __FILE__ переменная, которая возвращает мне имя файла, в котором я нахожусь? Но что делает $PROGRAM_NAME символизирова…
08 май '16 в 14:53
1 ответ

Поведение специальных переменных при макроразложении

FUZZ> (defvar *foo* nil) *FOO* FUZZ> (defmacro bar () (format t "foo: ~A" *foo*) `(+ 1 1)) BAR FUZZ> (defmacro bot () (let ((*foo* 17)) `(bar))) BOT FUZZ> (bot) foo: NIL Моя ментальная модель (явно неправильная) макроподключения говорит,…
21 ноя '14 в 03:06
4 ответа

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

Давайте определим функцию, тело которой содержит макрос, который будет раскрыт в неустановленное время и будет использовать глобальное динамическое значение *test* во время этого процесса. > (defvar *test* nil) > (defmacro body () `(print ,*te…
04 янв '12 в 10:50
2 ответа

Как я могу найти положение совпадающего регулярного выражения в одной строке в Perl?

Скажем my $string = "XXXXXTPXXXXTPXXXXTP";Если я хочу соответствовать: $string =~ /TP/; несколько раз и вернуть позицию для каждого, как бы я это сделал? я пытался$-[0], $-[1], $-[2] но я получаю должность только для $-[0], РЕДАКТИРОВАТЬ: я также по…
07 авг '15 в 20:24
1 ответ

Как получить определенный ${^OPEN}?

Какие изменения необходимы в этом коде, чтобы получить определенный ${^OPEN}? #!/usr/bin/env perl use warnings; use strict; use open qw( :std :utf8 ); print ${^OPEN}; Use of uninitialized value $^OPEN in print at ./perl.pl line 6.
17 июл '14 в 10:53
2 ответа

Где я могу найти информацию о специальных переменных Perl?

В Perl довольно много специальных переменных, таких как @F, $!, %!... и т.д. Где задокументированы все специальные переменные Perl?
05 апр '10 в 13:44
2 ответа

Можно ли "сбросить" все специальные переменные bash с помощью команды, например env?

#!/bin/bash env Это выплевывает кучу переменных среды. $0, $@, $_ и т. Д. Не выводятся. Есть ли способ выкинуть их, как env или же set сваливает остальную часть окружающей среды? Я не имею в виду ничего подобного echo $0 или что-то еще, я хочу увиде…
09 сен '18 в 01:40
2 ответа

Perl специальная переменная "@_" в подпрограмме не работает

Этот скрипт извлекает URL-адреса из загруженной веб-страницы. У меня были некоторые проблемы с этим сценарием - когда я использую "my $csv_html_line = @_ ;"а затем распечатать "@html_LineArray" - это просто распечатывает "1's", Когда я заменяю"my $c…
22 фев '16 в 03:24
1 ответ

Почему добавление спящего режима в сценарий bash, по-видимому, нарушает уменьшение переменной для определенных именованных переменных?

С помощью следующего скрипта bash: #!/bin/bash let SECONDS=5 until [[ "$SECONDS" -le "1" ]]; do echo SECONDS $SECONDS (( SECONDS -= 1 )) # sleep 1 done Я вижу странное поведение. А именно, если я раскомментирую sleep 1 цикл продолжается, но счетчик …
30 мар '18 в 14:40
2 ответа

Итерация по значениям $@

Я хотел бы перебрать аргументы, данные скрипту bash, например: ./bash_script file1 file2 file3 $@ дает мне все файлы, предоставленные сценарию, но как мне перебрать файлы? я бы хотел cat каждый файл и удалить содержимое с помощью awk (Я знаю, как эт…
28 июн '16 в 01:08
0 ответов

Есть ли побочные эффекты от использования `arg` в качестве имени аргумента в Lua?

Я использовал arg в качестве имени аргумента для функции: function foo(cmd, arg) -- etc. end Я только что узнал arg является специальной скрытой переменной, которая представляет таблицу аргументов при использовании переменных аргументов: function fo…
14 окт '18 в 12:46
2 ответа

Как использовать $a и $b в подпрограмме Perl

Я хотел бы использовать $a а также $b переменные в моих анонимных бинарных функциях, как это сделано в sort {$a <=> $b} (1, 2, 3) но я не могу понять, почему код нравится #!/usr/bin/env perl use strict; use warnings; Foo::Bar(sub { $a + $b });…
02 янв '12 в 18:19
2 ответа

Что делают $/ и $\ do?

Я обнаружил $\ = $/ когда я исследовал, как объединить 2 массива, но я совсем не понимаю этого. Пример с этим: use strict; $\ = $/; my @array1 = ("string1", "string2"); my @array2 = ("string3", "string4"); my @array = (@array1, @array2); print for @…
12 мар '13 в 19:53
2 ответа

Будущее осуждаемых специальных переменных

Устаревшие специальные переменные (например, $# а также $*) потерян навсегда или возможно ли их повторное использование в будущей версии Perl?
29 июл '11 в 08:11