#!/usr/bin/perl
@ARGV ==1 or die "usage: parse_jup.pl FILENAME";
($filename) = @ARGV;
#print $filename."\n";
print "HEVA;IMSI;DIALLED;TYPE;MSC;CELL;START;DURATION;END;IN_SERV\n";
open(INFILE, "< $filename") or die "Can't open $filename for reading: $!\n";
while (<INFILE>) {
chomp;
my $head_trailer = unpack("A2", $_);
if($head_trailer == '10') {
next;
}
if($head_trailer == '90') {
next;
}
@ticket = unpack("A2 A15 A24 A4 x2 A7 x16 A5 x1 A12 A6 x18 A12 x32 A6", $_);
#he/va 0; imsi 1; dialled 2; type 3; msc4 ; cell 5; start 6; duration 7; end 8; in_serv 9
print $ticket[0].";".$ticket[1].";".$ticket[2].";".$ticket[3].";".$ticket[4].";".$ticket[5].";".$ticket[6].";".$ticket[7].";".$ticket[8].";".$ticket[9]."\n";
}
close INFILE;
Примечание:
Просто задание при приёме на работу. А в этом скрипте есть какие-нибудь ошибки?
Примечание:
Спасибо. Перл знать не обязательно. Я даже на собеседовании говорил что его не знаю. Они мне это задание автоматом скинули. Bash скрипты писал но не так много как хотелось бы.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.