У меня есть файл в формате ниже
locale,English,en_AU,6251
locale,French,fr_BE,25477
charmap,English,EN,5423
И я хотел бы использовать perl, чтобы распечатать что-то с опцией "-a", следующей за файлом, и вывести что-то вроде
Available locales:
en_Au
fr_BE
EN
Для этого у меня есть скрипт perl ниже
$o = $ARGV[0];
$f = $ARGV[1];
open (INFILE, "<$f") or die "error";
my $line = <INFILE>;
my @fields = split(',', $line);
if($o eq "-a"){
if(!$fields[2]){print "No locales available\n";}
else{print "Available locales: \n";
while($fields[2]){print "$fields[2]\n";}
}
}
close(INFILE);
И у меня здесь три вопроса.1. Мой скрипт всегда будет печатать только первый язык "en_Au".2. он должен быть в состоянии проверить, является ли файл пустым, но если файл является чисто пустым, он ничего не выводит, но если я введу две пустые строки в файле, он выведет две строки «Нет доступных локалей».3. Фактически, в части (! $ Filed [2]) я должен проверить, является ли файл пустым или нет доступных локалей, если так, нужно ли мне помещать здесь регулярное выражение, чтобы проверить, является ли он локалью??Надеюсь, кто-нибудь может помочь мне разобраться с этим!Большое спасибо !!!