cgi.pm
alex
- perl
0 Christoph Schnauß0 alex
0 Benne
huhu
ich würde gerne wissen wie ich bei befehlen wie table() newlines für alle neuen tags erzeugen kann. ich mag es nicht wenn das ergebnis in einer zeile steht .-)
weiss jemand wie es geht?
hallo,
ich würde gerne wissen wie ich bei befehlen wie table() newlines für alle neuen tags erzeugen kann.
Du schreibst einfach einen Zeilenumbruch dahinter. Beispiel:
foreach $main_line (@main) {
if ($main_line =~ /<!-- start -->/) {
print MAIN $cgi->comment('start')."\n".
$cgi->start_table({-border =>'0', -cellspacing =>'8', -cellpadding =>'5', -width =>'100%'})."\n".
$cgi->Tr($cgi->td({-bgcolor =>'#FFFFFF', -style =>'border:1px solid #0C0C0C'}, "\n".
$cgi->ol($cgi->a({-href =>$basisurl.'/'.$archivdir.'/'.$num.'.htm'},$thema).
' von '.$cgi->b($name).', '. $datum.' Uhr'."\n".
$cgi->comment('antwort: '.$num)."\n")."\n")).
$cgi->end_table()."\n\n";
} else { print MAIN "$main_line" }
Grüße aus Berlin
Christoph S.
hmm, ja das ginge wenn ich es so aufrufen würde. ich bevorzuge aber den tabellenbody als arrayreferenz zu übergeben. somit hab ich erstmal nicht die direkt kontrolle über die einzelnen zeilen.
kann man das nicht global irgendwie einstellen, dass es für alle funktionen gilt? table(), radio_group() ...
-> $" oder sowas?
gruß
hallo,
ich bevorzuge aber den tabellenbody als arrayreferenz zu übergeben
Dann mußt du bitte mal den relevanten Teil deines Codes posten.
kann man das nicht global irgendwie einstellen, dass es für alle funktionen gilt?
Jaein. Du kannst dir natürlich Variablen erfinden, die den Zeilenumbruch bereits enthalten, und die dann einsetzen.
-> $" oder sowas?
Ups. Dann wohl eher "sowas".
Grüße aus Berlin
Christoph S.
PS: es wäre ein Pluspunkt für dich, wenn du Groß- und Kleinschreibung korrekt beherrschen lernen wolltest.
ok, hier nun mal ein Codeschnipsel:
__CODE__
my @rows;
push (@rows, Tr (th (["1", "1", "1"])));
push (@rows, Tr (th (["2", "2", "2"])));
push (@rows, Tr (th (["3", "3", "3"])));
push (@rows, Tr (th (["4", "4", "4"])));
print table ({-border => 1}, @rows);
__CODE__
an sowas dachte ich...
und genau bei der Vereinfachung hätte ich gerne Zeilenumbrüche möglichst geschickt eingebunden...
local($") = '\n'; macht leider auch nicht das Gewünschte .-(
gruß
hallo alex,
ok, hier nun mal ein Codeschnipsel
Na siehst du, da kommen wir der Sache doch schon etwas näher.
push (@rows, Tr (th (["1", "1", "1"])));
Ja, ok, damit kann man durchaus einen Array zusammenstellen. Und nichts hindert dich, daraus eben
push (@rows, Tr (th (["1", "1", "1"])."\n")."\n");
zu machen. Ich habs jetzt zwar auf die Schnelle nicht ausprobiert, aber vom Prinzip her sollte das dein Problem (für das ich ja durchaus Verständnis habe) lösen helfen können.
print table ({-border => 1}, @rows);
Daraus kannst du höchstwahrscheinlich auch noch
print table ({-border => 1}, @rows)."\n";
machen.
Grüße aus Berlin
Christoph S.
Hallo alex,
ich würde gerne wissen wie ich bei befehlen wie table() newlines für alle neuen tags erzeugen kann. ich mag es nicht wenn das ergebnis in einer zeile steht .-)
wenn ich dich richtig verstanden habe, dann könnte dich CGI::Pretty interessieren.
Gruß,
Benne
Hallo alex,
ich würde gerne wissen wie ich bei befehlen wie table() newlines für alle neuen tags erzeugen kann. ich mag es nicht wenn das ergebnis in einer zeile steht .-)
wenn ich dich richtig verstanden habe, dann könnte dich CGI::Pretty interessieren.Gruß,
Benne
jap, nur wie bekomme ich das zum laufen?
$CGI::Pretty::LINEBREAK = "\n\n";
das oben allein reicht scheinbar nicht?
gruß
lol, schon gut, ich hätte das pretty natürlich mit use einbinden sollen .-)
oki, danke hat mir sehr geholfen.
gruß alex