Ed X: Beim Einlesen einer Binärdatei nur erste Zeile zurückgegeben

Beitrag lesen

Hi folks,

Es ist ja richtig schön warm draussen, offensichtlich bin ich dabei
aber heißgelaufen ;(

Bei dem versuch eine Binärdatei einzulesen, um sie nach base64 zu codieren, bekomme ich immer nur die erste "Zeile" geliefert, bei
ascii files alles kein problem.

hier etwas code:

#!f:/copyprog/perl56/bin/perl.exe -w

use MIME::Base64;

open(BGIMAGE,"<f:/webgraphics/rainbow2.jpg") || die "can not read";
$ausgabe = "";
while (<BGIMAGE>) {
$ausgabe .= $_;}

print $ausgabe ."\n\n";
print &mime_encode($ausgabe,'image/jpeg','stony.jpg','base64','attachment');

close(BGIMAGE);

sub mime_encode ($;$;$;$;$;$)
{
 my $retv = "Content-Type: $_[1];\n name="$_[2]"\n";
 $retv .= "Content-Transfer-Encoding: $_[3]\nContent-Disposition: $_[4];";
 $retv .= "filename="$_[2]"\n\n";
 if ($_[3] eq "base64") {
  $retv .= &encode_base64($_[0]);
 } elsif ($_[3] eq "x-uuencode") {
  $retv .= "begin 644 $_[2]\n";
  pos($_[0]) = 0;        # ensure start at the beginning
  while ($_[0] =~ /(.{1,45})/gs) {
   $retv .=pack('u', $1);}
 }
 $retv;
}

gibt es dafür eine erklärung, die mein armer kleiner kopf heute noch
verkraftet?

Danke für's Nachdenken!

Bye Ed X