Schrift
[thread]726[/thread]

CSV auf Website als GD:Tortendiagramm: Anfängerproblem :) (Seite 2)

Leser: 1


<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten
GwenDragon
 2006-05-13 16:34
#7587 #7587
User since
2005-01-17
14835 Artikel
Admin1
[Homepage]
user image
@opi

Das empfand ich auch nicht so.
Besser voraussehend programmieren als dann den Fehler suchen.
Strat
 2006-05-14 00:05
#7588 #7588
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
das while(defined $x = <HANDLE) war frueher sogar mal zwingend noetig; ich glaube, das wurde erst mit perl5.6 standardmaessig durch defined erweitert.
Ich verwende es auch so gut wie immer...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
tomi-w
 2006-05-14 12:47
#7589 #7589
User since
2006-05-12
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
mmh... erstmal danke für die vielen Tipps. Leider bricht das Script zur Erstellung des Diagramms mit einem Fehler ab "Error 500".

Habe ich was vergessen??

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/perl -wT

use strict;
use CGI;
use GD::Graph::pie;

use constant TITLE => "Test";

my $csv = Text::CSV->new(); # create a new object
my $line;
my @data = ([ qw( Jan Feb Mrz Apr Mai Jun Jul Aug Sep Okt Nov Dez ) ]);

open (DATEI, "<";"daten.csv");
while( defined( $line = <DATEI> ) ) {
my $status = $csv->parse($line); # CSV felder parsen

if ($status) {
@columns = $csv->fields(); # da sind die Spalten
push @data, [ @colums ]; # Daten sichern
} else {
die ("Fehler: " . $csv->error_input ); # Fehler melden
}
}
close (DATEI);

my $q = new CGI;
my $graph = new GD::Graph::pie( 300, 300 );


$graph->set(
title => TITLE,
'3d' => 0
);

my $gd_image = $graph->plot( \@data );

print $q->header( -type => "image/png", -expires => "-1d" );

binmode STDOUT;
print $gd_image->png;


Gruß
Thomas
Ronnie
 2006-05-14 13:07
#7590 #7590
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Füg da mal folgendes ein:
Code: (dl )
use CGI::Carp qw/warningsToBrowser fatalsToBrowser/;

dann siehst du die Fehlermeldung, weshalb er sich verabschiedet - obwohl du auch einfach mal ins error.log des Servers schauen könntest.\n\n

<!--EDIT|Ronnie|1147597665-->
tomi-w
 2006-05-14 13:10
#7591 #7591
User since
2006-05-12
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
Danke für den Tipp. Bekomme folgende Meldung:

Software error:

syntax error at /srv/www/cgi-bin/aufgabe2_2.pl line 13, near ""<";"
Global symbol "@columns" requires explicit package name at /srv/www/cgi-bin/aufgabe2_2.pl line 18.
Global symbol "@colums" requires explicit package name at /srv/www/cgi-bin/aufgabe2_2.pl line 19.
Execution of /srv/www/cgi-bin/aufgabe2_2.pl aborted due to compilation errors.
GwenDragon
 2006-05-14 13:20
#7592 #7592
User since
2005-01-17
14835 Artikel
Admin1
[Homepage]
user image
Aha, Vertipper und vergessene Deklaration
Zeile 13:
Code: (dl )
open (DATEI, "<", "daten.csv");

Zeile 18:
Code: (dl )
my @columns = $csv->fields(); 

Zeile 19:
Code: (dl )
push @data, [ @columns ];
tomi-w
 2006-05-14 13:33
#7593 #7593
User since
2006-05-12
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nein, line 19 scheint ok, aber jetzt meckert er an Line 9...

Software error:

Can't locate object method "new" via package "Text::CSV" (perhaps you forgot to load "Text::CSV"?) at /srv/www/cgi-bin/aufgabe2_2.pl line 9.
GwenDragon
 2006-05-14 14:21
#7594 #7594
User since
2005-01-17
14835 Artikel
Admin1
[Homepage]
user image
Da fehlt vorher ein
Code: (dl )
use Text::CSV;


Haben wir wohl vergessen zu schreiben ;)

Und auf dem System sollte es auch installiert sein.\n\n

<!--EDIT|GwenDragon|1147602150-->
pq
 2006-05-14 14:56
#7595 #7595
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=tomi-w,14.05.2006, 10:47]mmh... erstmal danke für die vielen Tipps. Leider bricht das Script zur Erstellung des Diagramms mit einem Fehler ab "Error 500".[/quote]
Wiki:Error 500
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
tomi-w
 2006-05-14 17:17
#7596 #7596
User since
2006-05-12
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich weiß... ihr müsst mich wahrscheinlich für mega dämlich halten, aber jetzt bekomme ich wieder eine Fehlermeldung, leider sagt diese nicht sehr viel aus...

Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.

Fehlermeldung:
Premature end of script headers: aufgabe2_2.pl

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500
localhost
Sun May 14 15:11:40 2006
Apache/2.0.54 (Linux/SUSE)

Hier nochmal mein geänderter Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/perl -wT

use strict;
use CGI;
use GD::Graph::pie;
use Text::CSV;
use CGI::Carp qw/warningsToBrowser fatalsToBrowser/;
use constant TITLE => "Test";

my $csv = Text::CSV->new(); # create a new object
my $line;
my @data = ([ qw( Jan Feb Mrz Apr Mai Jun Jul Aug Sep Okt Nov Dez ) ]);

open (DATEI, "<", "daten.csv");
while( defined( $line = <DATEI> ) ) {
my $status = $csv->parse($line); # CSV felder parsen

if ($status) {
my @columns = $csv->fields(); # da sind die Spalten
push @data, [ @columns ];
} else {
die ("Fehler: " . $csv->error_input ); # Fehler melden
}
}
close (DATEI);

my $q = new CGI;
my $graph = new GD::Graph::pie( 300, 300 );


$graph->set(
title => TITLE,
'3d' => 0
);

my $gd_image = $graph->plot( \@data );

print $q->header( -type => "image/png", -expires => "-1d" );

binmode STDOUT;
print $gd_image->png;
<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten



View all threads created 2006-05-12 15:45.