#!/usr/bin/perl
use strict;
use warnings;
use XML::Writer;
use XML::Simple;
use XML::LibXML;
my $out;
my $xml = XML::Writer->new(OUTPUT => \$out, DATA_MODE => 1, DATA_INDENT => ' ');
$xml->xmlDecl();
$xml->startTag('doc');
my $check_1 = 0;
open(my $fh, "<", "20150625163139.xml")
or die "Failed to open file: $!\n";
while(<$fh>) {
chomp;
next if !length;
my ($string1, $string2, $subscript_name, $subscript_value) = /
^(.*?)::
([^\s]+)
\.([^\s]+)\s+=
\s(.*)
/x;
if ( $check_1 == 0 ) {
$xml->startTag($string1);
$check_1 += 1;
}
$xml->startTag($string2);
$xml->dataElement($subscript_name => $subscript_value);
$xml->endTag();
}
$xml->endTag();
$xml->endTag();
$xml->end();
print $out;
close $fh;
####
GI-eSTB-MIB-NPH::eSTBGeneralErrorCode.0 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBGeneralConnectedState.0 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBGeneralPlatformID.0 = INTEGER: 2076
GI-eSTB-MIB-NPH::eSTBGeneralFamilyID.0 = INTEGER: 25
GI-eSTB-MIB-NPH::eSTBGeneralModelID.0 = INTEGER: 60436
GI-eSTB-MIB-NPH::eSTBGeneralUnitAddressID.0 = STRING: 000-00802-49393-076
GI-eSTB-MIB-NPH::eSTBGeneralSettopMac.0 = STRING: b8:16:19:28:18:f3
GI-eSTB-MIB-NPH::eSTBGeneralRemodChan.0 = INTEGER: 3
GI-eSTB-MIB-NPH::eSTBGeneralSettopTime.0 = INTEGER: 1119302620 GPS
GI-eSTB-MIB-NPH::eSTBPurchaseStatusUnsentPurchases.0 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBPurchaseStatusUnackPurchases.0 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBPurchaseStatusLastSeqNumPurchases.0 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBPurchaseStatusLastReportBackTimePurchases.0 = INTEGER: 1118516578
GI-eSTB-MIB-NPH::eSTBPurchaseStatusIppvStatus.0 = INTEGER: false(2)
GI-eSTB-MIB-NPH::eSTBOobFrequency.0 = INTEGER: 75250000
GI-eSTB-MIB-NPH::eSTBOobCarrierLock.0 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBOobLostLockCount.0 = Counter32: 0
GI-eSTB-MIB-NPH::eSTBOobDataPresent.0 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBOobEMMDataPresent.0 = INTEGER: false(2)
GI-eSTB-MIB-NPH::eSTBOobSNRValue.0 = INTEGER: 24.9
GI-eSTB-MIB-NPH::eSTBOobSNRState.0 = INTEGER: good(4)
GI-eSTB-MIB-NPH::eSTBOobAGCValue.0 = INTEGER: 16
GI-eSTB-MIB-NPH::eSTBOobAGCState.0 = INTEGER: good(4)
GI-eSTB-MIB-NPH::eSTBOobNetworkPid.0 = INTEGER: 1911
GI-eSTB-MIB-NPH::eSTBOobEMMPid.0 = INTEGER: 5379
GI-eSTB-MIB-NPH::eSTBOobEMMProviderID.0 = INTEGER: 1
GI-eSTB-MIB-NPH::eSTBInBandNumberOfTuners.0 = INTEGER: 2
GI-eSTB-MIB-NPH::eSTBTunerIndex.1 = INTEGER: 1
GI-eSTB-MIB-NPH::eSTBTunerIndex.2 = INTEGER: 2
GI-eSTB-MIB-NPH::eSTBInBandTunerModulationMode.1 = INTEGER: qam256(3)
GI-eSTB-MIB-NPH::eSTBInBandTunerModulationMode.2 = INTEGER: qam256(3)
GI-eSTB-MIB-NPH::eSTBInBandTunerCarrierLock.1 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerCarrierLock.2 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerPCRLock.1 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerPCRLock.2 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerDataLock.1 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerDataLock.2 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerEMMDataPresent.1 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerEMMDataPresent.2 = INTEGER: true(1)
GI-eSTB-MIB-NPH::eSTBInBandTunerFrequency.1 = INTEGER: 195000000
GI-eSTB-MIB-NPH::eSTBInBandTunerFrequency.2 = INTEGER: 501000000
GI-eSTB-MIB-NPH::eSTBInBandTunerAGCValue.1 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBInBandTunerAGCValue.2 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBInBandTunerAGCState.1 = INTEGER: poor(2)
GI-eSTB-MIB-NPH::eSTBInBandTunerAGCState.2 = INTEGER: poor(2)
GI-eSTB-MIB-NPH::eSTBInBandTunerSNRValue.1 = INTEGER: 42.0
####
Code point \u0016 is not a valid character in XML at ./.pl line 34
####
$xml->dataElement($subscript_name => $subscript_value);
####
GI-eSTB-MIB-NPH::eSTBGeneralErrorCode.0 = INTEGER: 0
GI-eSTB-MIB-NPH::eSTBGeneralConnectedState.0 = INTEGER: true(1)
####
<0>INTEGER: 00>
<0>INTEGER: true(1)0>
####
perl -pe's/\x08//g' <20150625163139.xml >20150625163139.xml