Перейти к содержанию

спецам по Perl


Рекомендуемые сообщения

Привет...

Значит стоит задача програмно проверить наличие PPP соединения

перл начал изучать 2 часа назад использую первый попавшийся способ

#!/usr/local/bin/perl

open(PASS, "ifconfig |grep ppp|");

while()

{

($m_ppp) = split(' ');

if ($m_ppp=="ppp0")

{

#тут все работает все ок т.е. когда соединение есть прога #определяет что оно есть

}

else

{

# а вот тут нихрена не работает

# команда ifconfig | grep ppp в этом случае возвращает пустую #строку как ее проанализировать?

}

print;

}

close(PASS);

а может подскажите более продвинутый способ

спасибо...

Ссылка на комментарий
Поделиться на другие сайты

в Perl сравнение строк осуществляется с помощью eq и ne.

то естьв твоем коде правильно написать:

if ($m_ppp eq "ppp0") { ....

я не совсем понял, в чем именно неполадка ("это не работает, это работает"), но этот кусок - точно надо исправить.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Попробуй не open а

$inode = `ifconfig ppp0`;

if ($inode){

print "В точку";

}

else{

print "Что-то не так";

}

Данная конструкция должна поместить в $inode булевое

значение true/false и при проверке выдаст результатMaestro писал(а):

>

> Привет...

> Значит стоит задача програмно проверить наличие PPP соединения

> перл начал изучать 2 часа назад использую первый попавшийся

> способ

> #!/usr/local/bin/perl

> open(PASS, "ifconfig |grep ppp|");

> while()

> {

> ($m_ppp) = split(' ');

> if ($m_ppp=="ppp0")

> {

> #тут все работает все ок т.е. когда соединение есть прога

> #определяет что оно есть

> }

> else

> {

> # а вот тут нихрена не работает

> # команда ifconfig | grep ppp в этом случае возвращает пустую

> #строку как ее проанализировать?

> }

> print;

> }

> close(PASS);

> а может подскажите более продвинутый способ

> спасибо...

Ссылка на комментарий
Поделиться на другие сайты

Попробуй не open а

$inode = `ifconfig ppp0`;

if ($inode){

print "В точку";

}

else{

print "Что-то не так";

}

Данная конструкция должна поместить в $inode булевое

значение true/false и при проверке выдаст результатMaestro писал(а):

>

> Привет...

> Значит стоит задача програмно проверить наличие PPP соединения

> перл начал изучать 2 часа назад использую первый попавшийся

> способ

> #!/usr/local/bin/perl

> open(PASS, "ifconfig |grep ppp|");

> while()

> {

> ($m_ppp) = split(' ');

> if ($m_ppp=="ppp0")

> {

> #тут все работает все ок т.е. когда соединение есть прога

> #определяет что оно есть

> }

> else

> {

> # а вот тут нихрена не работает

> # команда ifconfig | grep ppp в этом случае возвращает пустую

> #строку как ее проанализировать?

> }

> print;

> }

> close(PASS);

> а может подскажите более продвинутый способ

> спасибо...

Ссылка на комментарий
Поделиться на другие сайты

Попробуй не open а

$inode = `ifconfig ppp0`;

if ($inode){

print "В точку";

}

else{

print "Что-то не так";

}

Данная конструкция должна поместить в $inode булевое

значение true/false и при проверке выдаст результатMaestro писал(а):

>

> Привет...

> Значит стоит задача програмно проверить наличие PPP соединения

> перл начал изучать 2 часа назад использую первый попавшийся

> способ

> #!/usr/local/bin/perl

> open(PASS, "ifconfig |grep ppp|");

> while()

> {

> ($m_ppp) = split(' ');

> if ($m_ppp=="ppp0")

> {

> #тут все работает все ок т.е. когда соединение есть прога

> #определяет что оно есть

> }

> else

> {

> # а вот тут нихрена не работает

> # команда ifconfig | grep ppp в этом случае возвращает пустую

> #строку как ее проанализировать?

> }

> print;

> }

> close(PASS);

> а может подскажите более продвинутый способ

> спасибо...

Ссылка на комментарий
Поделиться на другие сайты

А не проще /proc пролистать?setty писал(а):

>

> Попробуй не open а

>

> $inode = `ifconfig ppp0`;

> if ($inode){

> print "В точку";

> }

> else{

> print "Что-то не так";

> }

> Данная конструкция должна поместить в $inode булевое

> значение true/false и при проверке выдаст результатMaestro

> писал(а):

> >

> > Привет...

> > Значит стоит задача програмно проверить наличие PPP

> соединения

> > перл начал изучать 2 часа назад использую первый попавшийся

> > способ

> > #!/usr/local/bin/perl

> > open(PASS, "ifconfig |grep ppp|");

> > while()

> > {

> > ($m_ppp) = split(' ');

> > if ($m_ppp=="ppp0")

> > {

> > #тут все работает все ок т.е. когда соединение есть прога

> > #определяет что оно есть

> > }

> > else

> > {

> > # а вот тут нихрена не работает

> > # команда ifconfig | grep ppp в этом случае возвращает пустую

> > #строку как ее проанализировать?

> > }

> > print;

> > }

> > close(PASS);

> > а может подскажите более продвинутый способ

> > спасибо...

Ссылка на комментарий
Поделиться на другие сайты

А не проще /proc пролистать?

setty писал(а):

>

> Попробуй не open а

>

> $inode = `ifconfig ppp0`;

> if ($inode){

> print "В точку";

> }

> else{

> print "Что-то не так";

> }

> Данная конструкция должна поместить в $inode булевое

> значение true/false и при проверке выдаст результатMaestro

> писал(а):

> >

> > Привет...

> > Значит стоит задача програмно проверить наличие PPP

> соединения

> > перл начал изучать 2 часа назад использую первый попавшийся

> > способ

> > #!/usr/local/bin/perl

> > open(PASS, "ifconfig |grep ppp|");

> > while()

> > {

> > ($m_ppp) = split(' ');

> > if ($m_ppp=="ppp0")

> > {

> > #тут все работает все ок т.е. когда соединение есть прога

> > #определяет что оно есть

> > }

> > else

> > {

> > # а вот тут нихрена не работает

> > # команда ifconfig | grep ppp в этом случае возвращает пустую

> > #строку как ее проанализировать?

> > }

> > print;

> > }

> > close(PASS);

> > а может подскажите более продвинутый способ

> > спасибо...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...