setzt den $/ (Input-Record-Separator) auf 
undef.
$/ bestimmt welches Trennzeichen für Eingabedaten verwendet werden soll, ist standardmäßig auf \n (Zeilenumbruch) gesetzt.
Die ganze Aktion ermöglicht uns die Datei in einem Stück einzulesen (in ein Skalar statt in ein Array).
Das würde auch so funktionieren
open(FH, $file) or die $!;
my $content = join('', <FH>);
close(FH);
 
 
Die geschweiften Klammern und 
local veranlassen, dass sich das Ändern von $/ nicht auf das gesamte Skript auswirkt.
siehe
perldoc perlvar
use strict;
open(IMAGE, "image.gif");
binmode(IMAGE);
    my @image = <IMAGE>;
close(IMAGE);
print "Content-type: image/gif\n\n";
binmode(STDOUT);
print @image;
 
 
binmode() würde ich hinter den Header schreiben, aber ansonsten funktionierts genauso.\n\n
<!--EDIT|coax|1063645385-->
,,Das perlt aber heute wieder...'' -- Dittsche