>>>> import ipaddress
>>> list_of_ips = ['10.0.0.0', '10.0.0.1', '10.0.0.2', '10.0.0.3', '10.0.0.5']
>>> nets = [ipaddress.ip_network(_ip) for _ip in list_of_ips]
>>> cidrs = ipaddress.collapse_addresses(nets)
>>> print(list(cidrs))
[IPv4Network('10.0.0.0/30'), IPv4Network('10.0.0.5/32')]
и Perl последний часто по умолчанию отключен «по соображениям безопасности»?
my %password = (
'tom' => '123!',
'frank' => '321!',
);
if ( exists $password{$name} && $password eq $password{$name} ) {
# что-то делаем
}
use constant {
FOO => 4,
BAR => 5
};
$string = "gkjgklgn.jmnmmm.44444.55555.66666\hyjjkjmh";
print substr($string, 0, rindex($string, "."));
# main.pl
use strict;
use warnings;
use utf8;
use Getlib;
my $glib = Getlib->new( ip => '127.0.0.1' );
my $res = $glib->getconf( );
# Getlib.pm
use strict;
use warnings;
package Getlib;
sub new {
my ( $class, %self ) = @_;
bless \%self, $class;
return \%self;
}
sub getconf {
my $self = shift;
print $self->{ip}, "\n";
return "aaaa";
}
1;
# perl main.pl
127.0.0.1
# main.pl
use strict;
use warnings;
use utf8;
require "Getlib.pm";
my $glib = Getlib::getconf( '127.0.0.1' );
# Getlib.pm
use strict;
use warnings;
package Getlib;
sub getconf {
my $ip = shift;
print $ip, "\n";
return "aaaa";
}
1;
#!usr/bin/perl-w
use strict;
use Term::ReadKey;
use feature 'say';
ReadMode 4;
say "Нажмите любую клавишу для паузы";
say "Нажмите ESC для выхода";
my $key;
$| = 1;
my $x = 1;
sub check_esc {
my $key = shift;
if ( ord($key) == 27 ) { ReadMode 0; exit 0; }
else { return 1; }
}
while ( $x < 99999 ) {
sleep 3;
$x++;
say $x;
if ( defined( $key = ReadKey(-1) ) ) {
&check_esc($key);
say "Ура, Пауза! Нажмите любую клавишу для продолжения ...";
while ( not defined( $key = ReadKey(-1) ) ) { }
&check_esc($key);
}
}
ReadMode 0;
Нажмите любую клавишу для паузы
Нажмите ESC для выхода
2
3
4
5
Ура, Пауза! Нажмите любую клавишу для продолжения ...
6
7
8
use strict;
use warnings;
use utf8;
my $csv = <<'EOF';
ClassA1,mark,chemistry,5
ClassA2,mark,philosofyr,5
ClassA2,julia,physic,5
ClassA1,julia,math,3
ClassA1,mark,philosophy,5
ClassA1,julia,chemistry,4
ClassA2,mark,chemistry,4
ClassA2,julia,literature,2
EOF
my @csv = split "\n", $csv;
my (%sum, %count);
for my $row (@csv) {
my ( $class, $name, undef, $num ) = split ",", $row;
my $key = $class . '-' . $name;
$sum{$key} += $num;
$count{$key} += 1;
}
for my $name_class ( keys %sum ) {
print $name_class, $sum{$name_class}/$count{$name_class}, "\n";
}
ClassA1-julia3.5
ClassA2-julia3.5
ClassA2-mark4.5
ClassA1-mark5
use strict;
use warnings;
use sigtrap qw/die normal-signals/;
sleep(200);
Caught a SIGINT at kill.pl line 0.
Caught a SIGTERM at kill.pl line 0.
Caught a SIGHUP at kill.pl line 0.
my $str = '0000000000000000;39999999999;2;NONE;true;526;246;101;100;2;1;;;;;;8;101/100.000.99.99;246/000.000.122.122';
#-------------------------------------------------------------------------------
# Заменили дроби на ;
#-------------------------------------------------------------------------------
$str =~ s!/!;!gx;
#-------------------------------------------------------------------------------
# Получили один большой массив
#-------------------------------------------------------------------------------
my (@arr) = split ';', $str;
#-------------------------------------------------------------------------------
# Получаем дубликаты
#-------------------------------------------------------------------------------
my %seen = ();
my @dup = map { 1==$seen{$_}++ ? $_ : () } @arr;
say Dumper @dup;
use strict;
use warnings;
use utf8;
my $text = <<'EOF';
<description>
Туалетная вода-спрей
<br>ВОСТОЧНЫЙ ФУЖЕР
<br>Мужчина в стиле ориентирован на успех, целеустремлен и созидателен. Мужественность, достоинство, уверенность – его главные черты, наряду с чувственностью и романтичностью. Он
любит комфорт, красивые вещи, роскошную жизнь и выражает себя в классическом пок$
<br>Ключевые слова: Уверенный, динамичный, мужественный, благородный, элегантный, статусный, успешный</description>
EOF
$text =~ s{<description>.*?</description>}{<description></description>}gsi;
print $text;
<description></description>