my $content = $csv_profile->content;
my ( @headers, @fields );
while ( $content =~ /
- ([^=]+) # header
- =
- ([^\|]+) # fieldname (table.row or row)
+ ([^=\|]+) # header
+ =?
+ ([^\|]*) # fieldname (table.row or row)
\|? /gxms
) {
- push @headers, $1;
- my $field = $2;
- $field =~ s/[^\.]*\.?//; # Remove the table name if exists.
+ my $header = $1;
+ my $field = ($2 eq '') ? $1 : $2;
+
+ $header =~ s/^\s+|\s+$//g; # Trim whitespaces
+ push @headers, $header;
+
+ $field =~ s/[^.]+\.//; # Remove the table name if exists.
+ $field =~ s/^\s+|\s+$//g; # Trim whitespaces
push @fields, $field;
}