Hello Monks,
I am trying to parse multiple log files where eventually will be split and stored on an array of arrays. Each file will have an array for it self and the secondary level of each array will have all lines split based on the log file input.
For example imagine:
$VAR1 = [
[
'line1',
'line2',
'linen',
],
[
'line1',
'line2',
'linen',
]
];
But let's take it one step at a time. I have big log files (4000 lines) that contain multiple uneven (smaller or bigger) data such as:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: UDT{
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine2: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine3: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine4: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine5: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine6: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine7: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne8: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne9: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne10 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne11: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne12: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne13: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne14: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne15: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne16: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne17: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne18: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne19: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne 20 {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine21 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e22 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e23 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e24: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e25: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line26 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line27: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line29 data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line30: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line32: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line33: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line34: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line35: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line36: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line38: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line39: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line40: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line42 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line43: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line44: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line45: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line46: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line47: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line48: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line49: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line50: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line51: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line52: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line53: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line55: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line56: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line57: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line58: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line59: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line60 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line61: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line63: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line65 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line66 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line67: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line69: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line70: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line72 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line73: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line74: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line75: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line76: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line77: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line78: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line79: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line80: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line81: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line82: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line84: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line85: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line86: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line87: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line88: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line89: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line90: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line91: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line92: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line93: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line94: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line95: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line98: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line99: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line100: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line104: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line105: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line106: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line107: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e110: data
The common reference point of the data is that all start with ([ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: UDT{ and end } after multiple open and close curly brackets in and out).
I am at the beginning of writing the script and I am just parsing the file and splitting the files into array elements based on each matching ([ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: UDT{ and end } after multiple open and close curly brackets in and out).
It seems to be working fine and yet perfect, because I am really bad with perlre. I manage to found a similar case of my problem from Perl regular expression: match nested brackets , where I used the my @matches = $pdus =~ /[^{}\s]+ | \{ (?: (?R) | [^{}]+ )+ \} /gx;. It seems to working fine apart that it can process the beginning of the log file properly and the end.
The log file contains multiple instances of the sample given above that always start with [ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: UDT{ and end with } but in between multiple brackets.
Sample of script:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
die "Please provide minimum one file for parsing!\n" if @ARGV < 1;
sub fileProcessing {
my ( @files ) = @_;
foreach my $file ( @files ) {
open(my $fh, '<' , $file)
or die "Could not open file '$file' $!";
my $pdus = do { local $/; <$fh> };
close $fh
or die "Could not close file '$file' $!";
chomp( $pdus );
# my @matches = $pdus =~ /[^{}\s]+ | \{ (?: (?R) | [^{}]+ )+ \} /g
+x;
my @matches = $pdus =~ /[^{}]+ | \{ (?: (?R) | [^{}]+ )+ \} /g
+x;
print Dumper \@matches;
}
return;
}
fileProcessing( @ARGV );
Sample of the output:
$VAR1 = [
'[',
'11]',
'25/2/2017-19:02:06.980',
'proces_name',
'thanos-Rx:',
'UDT',
'{
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine2: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine3: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine4: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine5: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine6: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine7: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne8: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne9: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne10 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne11: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne12: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne13: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne14: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne15: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne16: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne17: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne18: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne19: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne 20 {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine21 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e22 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e23 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e24: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e25: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line26 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line27: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line29 data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line30: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line32: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line33: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line34: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line35: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line36: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line38: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line39: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line40: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line42 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line43: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line44: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line45: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line46: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line47: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line48: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line49: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line50: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line51: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line52: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line53: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line55: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line56: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line57: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line58: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line59: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line60 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line61: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line63: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line65 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line66 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line67: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line69: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line70: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line72 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line73: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line74: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line75: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line76: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line77: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line78: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line79: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line80: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line81: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line82: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line84: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line85: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line86: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line87: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line88: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line89: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line90: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line91: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line92: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line93: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line94: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line95: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line98: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line99: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line100: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line104: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line105: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line106: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line107: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e110: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }'
];
Sample of the updated output:
$VAR1 = [
'[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: UDT
+',
'{
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine2: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine3: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine4: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine5: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine6: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine7: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne8: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne9: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne10 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne11: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne12: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne13: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne14: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne15: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne16: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne17: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne18: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne19: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne 20 {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine21 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e22 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e23 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e24: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e25: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line26 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line27: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line29 data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line30: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line32: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line33: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line34: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line35: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line36: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line38: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line39: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line40: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line42 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line43: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line44: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line45: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line46: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line47: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line48: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line49: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line50: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line51: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line52: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line53: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line55: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line56: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line57: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line58: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line59: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line60 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line61: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line63: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line65 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line66 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line67: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line69: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line70: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line72 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line73: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line74: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line75: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line76: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line77: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line78: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line79: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line80: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line81: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line82: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line84: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line85: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line86: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line87: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line88: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line89: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line90: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line91: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line92: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line93: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line94: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line95: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line98: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line99: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line100: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line104: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line105: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line106: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line107: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e110: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }'
];
Sample of desired output:
$VAR1 = [
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: UDT{
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine2: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine3: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine4: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine5: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine6: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine7: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne8: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne9: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne10 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne11: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne12: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne13: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne14: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne15: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne16: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne17: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne18: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne19: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: li
+ne 20 {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: l
+ine21 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e22 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e23 data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e24: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e25: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line26 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line27: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line29 data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line30: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line32: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line33: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line34: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line35: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line36: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line38: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line39: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line40: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line42 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line43: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line44: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line45: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line46: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line47: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line48: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line49: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line50: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line51: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line52: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line53: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line55: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line56: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line57: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line58: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line59: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line60 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line61: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line63: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line65 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line66 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line67: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line69: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line70: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line72 = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line73: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line74: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line75: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line76: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line77: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line78: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line79: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line80: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line81: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line82: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line84: data = {
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line85: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line86: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line87: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line88: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line89: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line90: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line91: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line92: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line93: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line94: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line95: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line98: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line99: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line100: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line104: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line105: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line106: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ line107: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx:
+ }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: lin
+e110: data
[ 11] 25/2/2017-19:02:06.980 proces_name thanos-Rx: }'
];
To execute the script:
perl test.pl sampleFile
If someone could help me to figure out where I am going wrong it would be perfect.
Update: Removing last "unmatched" curly bracket from file input and also modifying printable output.
Update2: Adding modified regex my @matches = $pdus =~ /[^{}]+ | \{ (?: (?R) | [^{}]+ )+ \} /gx;. Updating output.
Thanks in advance for everyone time and effort.
Seeking for Perl wisdom...on the process of learning...not there...yet!