sub control{ my $self = shift; my %data = ( stahl => { title => 'Wetzstahl', descr => 'Messer Wetzen mit dem Stahl', type => qq(video/webm), }, ikea => { title => 'Keramikstab', descr => 'Messer auf dem Keramikstab schleifen', type => qq(video/webm), }, ); my $fh = IO::File->new; $fh->open("$self->{FILEDIR}/stahl.webm", O_BINARY|O_RDONLY) or die $!; read($fh, $data{stahl}{body}, -s $fh); $fh->close; $fh->open("$self->{FILEDIR}/ikea.webm", O_BINARY|O_RDONLY) or die $!; read($fh, $data{ikea}{body}, -s $fh); $fh->close; # Serialize $self->{CONTENT} = ''; foreach my $ent( keys %data){ foreach my $att( keys %{$data{$ent}}){ my $val = $data{$ent}{$att}; $self->{CONTENT} .= pack("NNN", length($ent), length($att), length($val)).$ent.$att.$val; } } $self->header("Content-Type" => 'application/octet-stream'); }