Font
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]436[/thread]

grafischer Zähler



<< >> 6 entries, 1 page
mättu
 2005-02-18 13:20
#4416 #4416
User since
2004-12-12
30 articles
BenutzerIn
[default_avatar]
Hallo Leute

Habe einen grafischen Zähler, der wird im html so aufgerufen:
Code: (dl )
<img src="/cgi-bin/zaehler/zaehler.pl/zaehler.gif">

und im zaehler.pl wird mit Image::Magick das anzahl.gif geschrieben:
Code: (dl )
$img -> Write(filename=>"../../html/anzahl.gif");

Und an den browser geschickt:
Code: (dl )
1
2
3
4
open(FILE,"../../html/anzahl.gif");
print "Content-type: image/gif","\n\n";
while (read(FILE, $buf, 8192)) {print $buf;}
close FILE;

Könnt ihr mir sagen, warum das im "richtigen Internet" funktioniert, nicht aber auf meinem localhost?
Das hab ich festgestellt: Wenn ich das anzahl.gif öffne mit einem Text-Editor, besteht es aus mehreren Linien.
Wenn ich ein .gif herstelle, das zufällig nur aus einer Linie besteht (keine "newline" enthält), funktioniert es auch unter localhost.
Könnte das damit zu tun haben, dass mein Computer ein windows-compi ist? (Man kommt ja auf allerhand Ideen..)
Oder kennt jemand von euch, eine bessere Methode, einen solchen grafischen Zähler zu bauen?

Grüsse
Ishka
 2005-02-18 14:06
#4417 #4417
User since
2003-08-04
771 articles
HausmeisterIn
[Homepage] [default_avatar]
Mach mal
Code: (dl )
1
2
open(FILE,"../../html/anzahl.gif");
binmode(FILE);


Ich glaube mich zu erinnern, daß unter Windows einige Zeichen umgewandelt werden beim Lesen (oder wars schreiben), wenn man nach dem öffnen kein binmode anwendet.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
GwenDragon
 2005-02-18 14:23
#4418 #4418
User since
2005-01-17
14911 articles
Admin1
[Homepage]
user image
Binärdateien sollte eineR immer mit binmode lesen und schreiben.
ptk
 2005-02-18 14:25
#4419 #4419
User since
2003-11-28
3645 articles
ModeratorIn
[default_avatar]
binmode benoetigt man bei einigen Perl-Versionen (5.8.0, aber nicht mehr spaeter) auch bei Linux und Unix, wenn ein Utf-8-LOCALE eingestellt ist.
mättu
 2005-02-18 16:17
#4420 #4420
User since
2004-12-12
30 articles
BenutzerIn
[default_avatar]
hat nix geholfen.
Merci trotzdem.
mättu
 2005-02-18 16:42
#4421 #4421
User since
2004-12-12
30 articles
BenutzerIn
[default_avatar]
Hier kommt die Antwort, die für mich geht:

You didn't specify your platform, but if you're on a box where "binmode()" makes a difference, use binmode&copy; and binmode(STDOUT).

von:
http://perlmonks.org/index.pl?node_id=9095

Grüsse
:-)
Ps: wenn jemand noch eine schlauere Antwort weiss, bitte melden.
<< >> 6 entries, 1 page



View all threads created 2005-02-18 13:20.