ну вот например, когда-то кому-то писал:
#! /usr/bin/perl -w
# Этот скрипт предназначен для поднятия интерфейса ppp0 и последующей
# проверки соединения с интернет. Затем выполняется любая команда
# по работе в интернете, по окончанию которой dial-up соединение разрывается
# (c) Yuriy Minenko yumi@onbox.ru
# Zhitomir, Ukraine, 28.09.2003
use Net::Ping;
$host = "banner.kiev.ua"; #Здесь любой хост указываешь, который постоянно висит в нете - можешь не менят
ь
$i = $k = 0;
`ifup ppp0`; # или как там для поднятия dial-up, давно не пользоваля не помню
sleep 15; # 15 секунд на дозвон и соединение с провайдером
while ($k == 0 and $i !=20) { # $i - количество циклов проверки есть ли соединение с инте
рнет
$p = Net::Ping->new();
$k = 1 if $p->ping($host);
sleep 2; # 2 сек ожидания между проверками
$p->close();
$i++;
}
`emerge sync` if ($k==1); # выполняешь то что хочешь
`ifdown ppp0`;
думаю разберетесь