У меня есть информационный отчет в текстовом файле, и я хочу экспортировать его в формат CSV и только для тех строк в формате IPv4 (по первому столбцу). Как мне это сделать в Perl?
10.10.10.1 10.10.11.11 51251 445 2019-03-05 11:59:29.008 29.156 ......
10.10.10.2 10.10.11.22 51234 123 2019-03-05 11:40:29.008 30.156 .A..SF
2001:288:8900:c400:2018:8ce:1ca8:9cb0 2404:6800:4012:1::200e 62105 443 2019-03-04 23:59:32.458 0.340 17 ...... 0 8 4763 1
2001:288:8001:c200:3171:3abcd:28af:7e8f 2404:6800:4008:c04::bc 50286 443 2019-03-04 23:59:32.471 0.000 6 .A.... 0 1 61 1
Я хочу получить только строки в формате IPv4, как показано ниже,
10.10.10.1 10.10.11.11 51251 445 2019-03-05 11:59:29.008 29.156 ......
10.10.10.2 10.10.11.22 51234 123 2019-03-05 11:40:29.008 30.156 .A..SF
Мой код,
open my $fh, '<', 'in.txt';
open my $fo, '>', 'out.csv';
while (<$fh>) {
next if ($. == 1);
s/^\s+//;
my $text = (join ',', (split /\s+/, $_))."\n";
print $fo $text;
}
Как проверить, имеет ли первый столбец формат IPv4?