{ foreach my $host ($DB->get_all) { next if defined $host->prop('HostType'); my %properties; $properties{'InternalIP'} = $host->prop('InternalIP') || ''; $properties{'ExternalIP'} = $host->prop('ExternalIP') || ''; $properties{'MACAddress'} = $host->prop('MACAddress') || ''; # If defined as host 'self', change to new format if (($properties{'InternalIP'} eq 'self') && ($properties{'ExternalIP'} eq 'self')) { $properties{'HostType'} = 'Self'; $properties{'InternalIP'} = ''; $properties{'ExternalIP'} = ''; $properties{'MACAddress'} = ''; } # defined as 'local' entry in new format elsif( $properties{InternalIP} ne 'self' ) { $properties{'HostType'} = 'Local'; $properties{ExternalIP} = ''; } elsif( $properties{ExternalIP} ne 'self' ) { $properties{'HostType'} = 'Remote'; $properties{InternalIP} = ''; } else { warn "$host has no InternalIP or ExternalIP!\n"; } $host->delete_prop('Visibility'); $host->merge_props(%properties); } }