powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) ищу аналог shell`у
19 сообщений из 19, страница 1 из 1
(PERL) ищу аналог shell`у
    #33595955
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кусок шеллового скрипта
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
. /etc/rc.conf
for iface in ${ipacctd_rules}
do
# чё-то делаем, причём в ${iface} по одному попадают
# интерфейсы перечисленные в ${ipacctd_rules} - sk0 lo0 fxp0 gif0

done
в /etc/rc.conf есть строка
Код: plaintext
ipacctd_rules="sk0 lo0 fxp0 gif0"
Т.е. вышеприведённый скрипт разбирает на переменные файл /etc/rc.conf, потом
содержимое переменной ${ipacctd_rules} снова разбирается на переменные, в
цикле, разделитель - пробел...

===
идей чё-то нету... но и перл я не очень знаю...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596016
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где вопрос?
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596041
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
Надо сделать цикл на перле с исходными данными.
Т.е. Разобрать /etc/rc.conf, достать из него содержимое ipacctd_rules и по
содержимому цикл.

Если в шелле это делается в три строки, то на перле я потерялся.... Скорей
всего не знаю подходящих ф-ций...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596051
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
use strict;

if ( open(RC_CONF, '</etc/rc.conf' ) )  {
    my @data = reverse <RC_CONF>;
    chomp @data;
    close RC_CONF;
    foreach my $str ( @data ) {
        next if $str =~ /^#/ or $str =~ /^\s*$/;
        $str =~ /^\s+/;
        $str =~ /\s+$/;
        my ( $key, $val ) = split(/=/,$str, 2 );
        if ( $key eq 'ipacctd_rules' ) {
            $val =~ s#^\s*(['"]?)(.*)\1#$2#;
            foreach my $opt ( split ( /\s+/, $val) ) {
                # чё-то делаем, причём в ${iface} по одному попадают
                # интерфейсы перечисленные в ${ipacctd_rules} - sk0 lo0 fxp0 gif0
                print "OPT = $opt\n";
            }
            last;
        }
    }
}
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596069
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
my $file_data;

open( FILE_DATA, "/etc/rc.conf" );
flock( FILE_DATA,  2  );
$file_data .= while( <FILE_DATA> );
close( FILE_DATA );

my($rules) = $file_data =~ /ipacctd_rules=\"([^\"]+)\"/s;
foreach ( split( /[\s+]/, $rules ) ) {
	print "$_\n";
}
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596078
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2g613, жулик
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596116
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему жулик?
У него, кстати более грамотно (просто он знает что это за файло и как
выглядит...), убираются комменты, хотя для этого файла это не так
существенно, он небольшой совсем...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596167
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай aka Motodor2g613, жулик

зависть то хоть не черная ?
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596180
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
А почему жулик?
У него, кстати более грамотно (просто он знает что это за файло и как
выглядит...), убираются комменты, хотя для этого файла это не так
существенно, он небольшой совсем...


Posted via ActualForum NNTP Server 1.3
вот именно он знает, что за фаил, а я ответил строго по вопросу

g613зависть то хоть не черная ?
белая
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596732
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пасиб, всё получилось.

Тока с use strict; - засада


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33596915
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
пасиб, всё получилось.

Тока с use strict; - засада


что так ?
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597110
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так конструкции типа
Код: plaintext
$file_path = '/var/.../interface.' . $interface;
невоспринимает...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597178
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
ну так конструкции типа
Код: plaintext
$file_path = '/var/.../interface.' . $interface;
невоспринимает...


дык а ты пиши 'правильно`:
Код: plaintext
my $file_path = '/var/.../interface.' . $interface;

так спится спокойнее...
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597182
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
ну так конструкции типа
Код: plaintext
$file_path = '/var/.../interface.' . $interface;
невоспринимает...


Posted via ActualForum NNTP Server 1.3
какую ошибку то пишет? переменые объявлены?
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597279
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как всё запущено, в этом перле....
Я думал, что устанавливая значение переменной, я её и объявляю...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597323
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
как всё запущено, в этом перле....
Я думал, что устанавливая значение переменной, я её и объявляю...


тут проявляется некоторая убогость привычек писать на пхп, да еще пользуясь небось rtegister_global=on... В перле правда так тоже можно. ...но лучше не надо.

на самом деле use strict это фича сильно помогающая исключать глупые ошибки при написание скриптов.
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597375
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
как всё запущено, в этом перле....
Я думал, что устанавливая значение переменной, я её и объявляю...


Posted via ActualForum NNTP Server 1.3
прагму use strict; необязательно подключать, но рекомендуемо.

на данный момент Вы показываете полностью непонимание "пространства имен", если бы Вы писали на C, знали с первого дня.

и Perl тут непричем.
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33597411
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, про регистер глобалс он я в курсе, и так не делю
А вот замуты с my.... Корче новый язык, надо привыкть...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PERL) ищу аналог shell`у
    #33600969
Anjey aka PM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
local my typeglob

....

а ваще почитайте книжку хорошую, как только проникнитесь, на ПХП возвращаться неохота будет :)

особенно вариант реализации ООП на перле порадовал, довольно таки оригинальный подход :)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) ищу аналог shell`у
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]