## #!/usr/bin/perl use strict; use warnings; use feature 'say'; my $HSSIN='D:\testproject\HSS-export.txt'; my $ofile = 'D:\testproject\HSS-output.txt'; my $add; my $MSISDN; open (INFILE, $HSSIN) or die "Can't open input file"; open (OUTFILE,"> $ofile" ) or die "Cant open file"; my $line; while () { if (/ $line, \n" if defined $line; # $line = "<$1>"; #group 1 #blockings if (/\t*CB=([\w-]+?);/) { $add = $1; $line .= ",$add"; } #call forwardings if (/\t*CF=([\w-]+?-(?:NONE|\d+))/ and (!/(\t*CF=CFD-[\w-]+?-\d+)/)) { $add = $1; #the entire of group 1 above, next search the line $add =~ s/\t//g; $add =~ s/(91)(\d+)?/$2/; #remove 91 from $1 above CFD-TS10-ACT-91436903000 #$add =~ s/\b436903000/43660303060/; $add =~ s/(\d+)$/1\/1\/1\/$1/; $add =~ s/NONE/1\/1\/1\/0/; $line .= ",$add"; } #change CFD to 43660303060 for voicemail if (/(\t*CF=(CFD-[\w-]+?-\d+))/ ) { $add = $2; $add =~ s/\t//g; #$add =~ s/(91)(\d+)?/1\/1\/1\/$2/; #remove 91 from $2 above $add =~ s/\b91436903000/1\/1\/1\/43660303060/; $add =~ m/(?:CFD-[\w].*-)(\d)\/(\d)\/(\d)\/(\d*)/; $line .= ",$add"; } #odb stuff #if ($_ =~ m/\t*ODBIC=([\w-]+?\w.*);/) if (/\t*ODBIC=([\w]+?\w.*);/) { #$add = "mappedBICVALUE"; $add = $1, $line .= ",$add"; } if (/\t*ODBOC=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBROAM=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBPRC=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBPLMN=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBPOS=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBECT=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBDECT=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBMECT=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBPREMSMS=([\w]+?\w.*);/) { $add = $1; $line .= ",$add"; } if (/\t*ODBADULTSMS=([\w]+?\w.*);/) { $add = "$1"; $line .= ",$add"; } #if (/\t*ODB(\w+)?=([\w-]+?\w.*);/) #{ # $add = $2; #$add =~ s/\t//g; # $line .= ",$add"; #} } #print OUTFILE "processSingle Update Command MKEY $line, \n"; close INFILE; close OUTFILE;