Kod:
#!/usr/bin/perl
use strict;
use warnings;
if ($#ARGV<0) {
print "Uzycie: $0 <plik wejsciowy>\n\n";
exit 1;
}
open (IN, $ARGV[0]) || die "Blad podczas otwierania pliku $ARGV[0]: $!\n";
while (<IN>) {
# wywalamy znaki nowej linii
chomp;
# pomijamy linie ktore nie zawieraja (wylacznie) adresu IP - prosty regex
next if !/^\d+\.\d+\.\d+\.\d+$/;
# jesli tu dotarlismy to znaczy ze jest adres IP - zamieniamy ostatnia sekcje na *
s/\d+$/*/;
# wyswietlamy linie i dodajemy znak nowej linii
print "$_\n";
}
close (IN);
Traktowales zmienna $in jako nazwe pliku niby ale nie otwierales pliku w swoi kodzie, dlatego nie dzialalo. Powyzszy kod mozna jeszcze znacznie skrocic ale bylby mniej czytelny, zwlaszcza dla poczatkujacyej osoby wiec zostawiam jak jest.