
| Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Cursor/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Cursor/matrix.pm |
package Cursor::matrix;
use strict;
use vars qw(@ISA);
use Cursor::buffered_cursor;
@ISA = qw(Cursor::buffered_cursor);
#**********************************************************************
sub next1 {
my $self = shift;
while (0 == 0) {
my $q = $self->{'CURSOR'}->next();
return() if (!$q);
$q = $self->func($q);
return($q) if ($q);
}
}
#**********************************************************************
sub func {
my $self = shift;
my $q = shift;
return() if (ref($q) ne "HASH");
return() if (!($q->{"matrix"}));
my $text = $q->{'matrix'} . "\n";
delete ($q->{'matrix'});
my @data = ();
my $o; my $o1; my @ee; my $q1; my $zeile;
my @spalte = (); my @spalte1;
foreach $o (split(/\n/,$text)) {
$o =~ /^ *(.*?) *$/;
$o = $1;
next if (substr($o,0,1) eq "\#");
@ee = split(" ",$o);
next if ($#ee < 2);
$zeile = shift(@ee);
if (!@spalte) {
@spalte = @ee;
} else {
@spalte1 = @spalte;
foreach $o1 (@ee) {
%$q1 = %$q;
$q1->{'zeile'} = $zeile;
$q1->{'spalte'} = shift(@spalte1);
$q1->{'data'} = $o1;
push(@data,{%$q1});
}
}
}
$self->{'___BUFFER___'} = [@data];
my $o = shift(@{$self->{'___BUFFER___'}});
return($o);
}
#**********************************************************************
1;