Кто дружит с PERL, помогите понять что делает скрипт?

интернет Компьютеры программирование perl

#!/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 скрипты писал но не так много как хотелось бы.
Ответы:
Читает специально подготовленный двоичный файл и выводит инфу csv в таком порядке:
#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";
доставляет )
Лучше так:
print join(';',@tiket)."\n";


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.