use Data::Dumper;

while(<>) {
    if(/^(\w\w\w\w\w) (...) (...) (....) (.{20}) (.{20}) (.{96}) (..) (...) (.+)/) {
	my $this = {gismu => $1,
		    shortdef => $5,
		    origin => $6,
		    def => $7,
		    unknown1 => $8,
		    unknown2 => $9,
		    notes => $10};
	my @tmprafsi = ($2,$3,$4);
	foreach my $rafsi (@tmprafsi) {
 	    if($rafsi =~ /\w/) {
		push @{$this->{'rafsi'}}, $rafsi;
	    }
	}
	if($this->{'origin'} !~ /\w/) { delete $this->{'origin'}; }
	if($this->{'notes'} !~ /\w/)  { delete $this->{'notes'}; }
	foreach my $key (('shortdef','origin','def','notes',
			  'unknown1','unknown2')) {
	    $this->{$key} =~ s/^\s+//;
	    $this->{$key} =~ s/\s+$//;
	}
	push @list, $this;
    }
}

open(FOO,">gismu.pl");
print FOO Dumper(\@list);
print FOO "1;\n";
close(FOO);
