Procházet zdrojové kódy

remove smartmatch from perl

root před 2 roky
rodič
revize
72b4842224

+ 0 - 1
docs/addons/set_dns_record.pl

@@ -8,7 +8,6 @@ use utf8;
 use English;
 use base;
 use FindBin '$Bin';
-no if $] >= 5.018, warnings =>  "experimental::smartmatch";
 use lib "$Bin/";
 use strict;
 use DBI;

+ 1 - 3
docs/addons/set_port_descr.pl

@@ -21,8 +21,6 @@ use eyelib::snmp;
 use eyelib::cmd;
 use Net::SNMP qw(:snmp);
 use Fcntl qw(:flock);
-no if $] >= 5.018, warnings =>  "experimental::smartmatch";
-
 
 open(SELF,"<",$0) or die "Cannot open $0 - $!";
 flock(SELF, LOCK_EX|LOCK_NB) or exit 1;
@@ -94,7 +92,7 @@ foreach my $conn_id (keys %conn_info) {
 if (exists $port_info{$conn_info{$conn_id}{port_id}}{count}) {
     $port_info{$conn_info{$conn_id}{port_id}}{count}++;
     #OU: Switches, Routers, WiFi AP
-    if ($conn_info{$conn_id}{ou_id}~~[7,10,12] and $conn_info{$conn_id}{description}) {
+    if (in_array([7,10,12],$conn_info{$conn_id}{ou_id}) and $conn_info{$conn_id}{description}) {
         $port_info{$conn_info{$conn_id}{port_id}}{description} = $conn_info{$conn_id}{description};
         }
     next;

+ 1 - 2
scripts/check_dhcp_pool.pl

@@ -8,7 +8,6 @@ use utf8;
 use English;
 use base;
 use FindBin '$Bin';
-no if $] >= 5.018, warnings =>  "experimental::smartmatch";
 use lib "$Bin/";
 use strict;
 use DBI;
@@ -63,7 +62,7 @@ next if (!$dhcp_networks->match_string($row->{ip}));
 next if (!$row->{mac});
 next if (!$row->{ip});
 my $subnet_name = $dhcp_networks->match_string($row->{ip});
-if ($row->{ip_int}~~[$dhcp_conf{$subnet_name}->{first_ip_aton} .. $dhcp_conf{$subnet_name}->{last_ip_aton}]) { $dhcp_conf{$subnet_name}->{dhcp_pool_size}--; }
+if (in_array([$dhcp_conf{$subnet_name}->{first_ip_aton} .. $dhcp_conf{$subnet_name}->{last_ip_aton}],$row->{ip_int})) { $dhcp_conf{$subnet_name}->{dhcp_pool_size}--; }
 }
 
 my @warning=();

+ 1 - 2
scripts/eyelib/cmd.pm

@@ -7,7 +7,6 @@ package eyelib::cmd;
 use utf8;
 use strict;
 use English;
-no if $] >= 5.018, warnings =>  "experimental::smartmatch";
 use FindBin '$Bin';
 use lib "$Bin";
 use base 'Exporter';
@@ -527,7 +526,7 @@ if ($device->{vendor_id} eq '7') {
     }
 
 #allied telesys x210,x610
-if ($device->{device_model_id} ~~ [50..53]) {
+if (in_array([50..53],$device->{device_model_id})) {
     eval {
         my $session = netdev_login($device);
 my $cmd = "copy running-config tftp

+ 12 - 0
scripts/eyelib/main.pm

@@ -31,6 +31,7 @@ log_debug
 log_error
 log_verbose
 log_die
+in_array
 timestamp
 do_exec
 do_exec_ref
@@ -177,6 +178,17 @@ my $worktime = time()-$BASETIME;
 log_info("TimeStamp: $worktime sec.");
 }
 
+#---------------------------------------------------------------------------------------------------------
+
+sub in_array {
+my $arr = shift;
+my @tmp = ();
+if (ref($arr)=~'ARRAY') { @tmp = @{$arr}; } else { push(@tmp,$arr); }
+my $value = shift;
+my %num = map { $_, 1 } @tmp;
+return $num{$value} || 0;
+}
+
 #---------------------------------------------------------------------------------------------------------.
 
 sub do_exec_ref {