Здравствуйте.По SNMP запросу (get_request) получаем счетчик работы интерфейса типа timeticks. Если потом вывести через print, то получаем в формате "2 days, 10 hours, 12 minutes, 00.00".
Подскажите, пожалуйста, как преобразовать вывод в общее количество минут и вывести как целое.
Спасибо.
если не вдумываться, то -my $request = "2 days, 10 hours, 12 minutes, 00.00";
$request =~ m/(\d+?) days, (\d+?) hours, (\d+?) munutes/i;
my $minutes = $1*1440 + $2*60 + $3;
>если не вдумываться, то -
>
>my $request = "2 days, 10 hours, 12 minutes, 00.00";
>$request =~ m/(\d+?) days, (\d+?) hours, (\d+?) munutes/i;
>my $minutes = $1*1440 + $2*60 + $3;а наобарот, из Timeticks в читаемое выражение ?
если мы говорим о perl, то в шапке скрипта можно написатьuse Net::SNMP qw(ticks_to_time);
а в коде писать:
$data = ticks_to_time($data);
before: 178759254
after: 20 days, 16:33:12.54если чисто из спортивного интереса то можно так:
my $hrs = int($data / (60 * 60 * 100)); # Data is hundredths of a second
my $mins = int($data / (60 * 100)) % 60;
my $secs = ($data % 100) / 100;
printf "%d:d:.2f | ", $hrs, $mins, $secs;