X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FMT940.pm;h=dd965deeab01f052bafe42e21ece0073f4497ced;hb=429a7c2179e2c3c4fe9bfcbb52ebb22e55c8519a;hp=2fbbad696390210a69474f4d319afe1e2c7101c7;hpb=c4ad3f668a9eae6af0fa2004462333dfe270cf68;p=kivitendo-erp.git diff --git a/SL/MT940.pm b/SL/MT940.pm index 2fbbad696..dd965deea 100644 --- a/SL/MT940.pm +++ b/SL/MT940.pm @@ -37,15 +37,25 @@ sub parse { } }; + my ($active_field); foreach my $line (read_file($file_name)) { chomp $line; $line = Encode::decode('UTF-8', $line); $line =~ s{\r+}{}; $line_number++; + my $current_field; + if ($line =~ m{^:(\d+[a-z]*):}i) { + $current_field = $1; + $active_field = $1; + } + if (@lines && ($line =~ m{^\%})) { $lines[-1]->[0] .= substr($line, 1); + } elsif (@lines && ($active_field eq '86') && !$current_field) { + $lines[-1]->[0] .= $line; + } else { push @lines, [ $line, $line_number ]; }