Используется ли трюк "my $ x if 0" для создания статической переменной для Perls до 5.10?

Решение Debian 9:

touch /etc/apache2/conf-available/php.conf 

Добавить в файл следующие строки:

<IfModule mod_php5.c>
    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>
<IfModule mod_php.c>
    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>

Затем запустите:

a2enconf php && service apache2 restart
13
задан Eugene Yarmash 8 October 2010 в 10:31
поделиться

3 ответа

Я всегда использовал фигурные скобки для создания статических переменных.

add() for 1..2;       # Append to existing.
add('foo', 'bar');    # Re-initialize if args are passed.
add() for 1..2;       # Append to existing.
{
    my @arr;
    sub add {
        @arr = @_ if @_;
        push @arr, '+';
        print @arr, "\n";
    }
}
14
ответ дан 1 December 2019 в 19:07
поделиться

Я думаю, что вам нужно запустить эмулятор с помощью команды: -wipe-data

-121--4103900-

Разговор с телефоном прост. Необходимо просто открыть соответствующее устройство /dev/ttyACM * и поговорить с ним. Какой телефон сложнее. Любой телефон, поддерживающий «привязку» и полный набор команд AT для SMS-сообщений, должен быть в порядке.

-121--3153489-

Нет, это очень смято. Вместо этого используйте замыкание.

use strict;

sub add {
    my @arr;

    return sub {
        push @arr, '+';
        print @arr, "\n";
    }
}

my $iter = add();
$iter->() for 1..7;
9
ответ дан 1 December 2019 в 19:07
поделиться

Поведение Мои $ X, если 0 - ошибка. Он выжил в течение длительного времени, потому что это полезно и использовано таким образом; Исправление это сломало бы существующий код. Это согласуется и поэтому может быть считаться пригодным для использования, но это не значит, что вы должны сделать это. Эта «функция» была обесначена и выдает предупреждение по состоянию на 5.10:

Deprecated use of my() in false conditional

Даже если вы не можете использовать состояние (т. Е. Ваш код должен иметь возможность работать под версиями Perl до 5.10) Мои $ х, если 0 трюк просто лень. Используйте закрытие в противном случае:

{
    my $x;
    sub counter {
        $x = '1' unless defined $x;
        print $x++, "\n";
    }
}
15
ответ дан 1 December 2019 в 19:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: