- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 - 46
 - 47
 - 48
 - 49
 - 50
 - 51
 - 52
 - 53
 - 54
 - 55
 - 56
 - 57
 - 58
 - 59
 - 60
 - 61
 - 62
 - 63
 - 64
 - 65
 - 66
 - 67
 - 68
 - 69
 - 70
 - 71
 - 72
 
                        sub initialize  # Действия выполняемые непосредственно перед стартом цикла если мы ведём базу, что бы подгрузится из неё!!!!!
{
	my $bc = shift; 
	if ( $bc->{const}{jnl} eq "1" )
	{
		$bc->{variable}{ip_addr} = run_shell_script("ip a", 'l');
		open JNL, '<', $bc->{const}{base_jnl};
		undef $\;
		my @jnl_strings = <JNL>;
		close JNL;
		my $ip_regext = qr/(?:[0-9]\.|[0-9]{2}\.|[0-2][0-9]{2}\.){3}(?:[0-9]|[0-9]{2}|[0-2][0-9]{2})/;
		map
		{
			chomp;
			if (/^($ip_regext);(.*);($ip_regext);(.*);opt\[ip_v_2:(.*),(.*);int_2:(.*),(.*),(.*)\]$/)
			{
				my ( $s1, $s2, $s3, $s4, $s5, $s6, $s7, $s8, $s9 ) = ( "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9" );
				if ( dynamic_comparison_ip($bc, $s1, $s3, $s5, $s8) == '1' )
				{
					cut_jnl($bc, $s1, '');
				}
				else
				{
					$bc->{variable}{base_virtual_ip}{$s1} = $s3;
					$bc->{variable}{base_mask_v_ip}{$s1} = $s2;
					$bc->{variable}{base_id}{$s1} = $s4;
					$bc->{variable}{base_addit_v_ip}{$s1} = $s5;
					$bc->{variable}{base_mask_v_ip_addit}{$s1} = $s6;
					$bc->{variable}{base_addit_dev}{$s1} = $s7;
					$bc->{variable}{base_addit_ip}{$s1} = $s8;
					$bc->{variable}{base_mask_ip_addit}{$s1} = $s9;
					$bc->{variable}{base_info_T}{$s1} = $bc->{variable}{no_info_T_max};
					$bc->{variable}{base_delay}{$s1} = 0;
					$bc->{const}{info}->debug("String $_ has been added in dynamic base");
					push @{$bc->{variable}{base_load_conf}}, $s1; # Формируем базу загруженных из файла
					$bc->{variable}{intrf_eth0} = Modules_SR::Ifconfig_all->new(
						"$bc->{config_params}{HOST}", 
						"$bc->{variable}{base_mask_v_ip}{$s1}");
					if ($bc->{variable}{base_addit_v_ip}{$s1})
					{
						$bc->{variable}{intrf_eth00} = Modules_SR::Ifconfig_all->new("
							$bc->{config_params}{HOST}", 
							"$bc->{variable}{base_mask_v_ip_addit}{$s1}"); 
					}
					
					if ($bc->{variable}{base_addit_dev}{$s1})
					{
						$bc->{variable}{intrf_eth1} = Modules_SR::Ifconfig_all->new(
							"$bc->{variable}{base_addit_dev}{$s1}", 
							"$bc->{variable}{base_mask_ip_addit}{$s1}");  
					}
					check_stop_status($bc, "$s1");
				}
			}
			else
			{
				$bc->{const}{info}->debug("String $_ hasn't been added in dynamic base");
				$bc->{const}{warning}->debug("String $_  has incorrect format!!!");
			}
		} @jnl_strings;
	}
} # end Действия выполняемые непосредственно перед стартом цикла
                                     
        
            Всё оттуда же. Инициализация объекта. Теперь делать через map {} стало, по-видимому, модно. Куча непонятно зачем нужных переменных и полей... FACEPALM...