Gå til innhold

Anbefalte innlegg

Skrevet

Jeg har et perl cgi script som blant annet henter ut og lister info fra en database

En bit av scriptet ser da ut som følger (nei, ingen moralsering om at "man ikke bruker tabeller i html" dette er en datalisting som skal være i en tabell og ikke en tabell for å tvinge på plass layout)

 

while (@arry=$h_rpp->fetchrow_array){
       print "<tr><td>";
           {
               local $,;
               $,='</td></td>';
               print @arry;
           }
       print"</td></tr>\n";
}

 

jeg setter $, for at perl skal bruke </td><td> som skille mellom elementene i @arry, men nei, plutselig virker ikke det mer... Det merkelige er at det fungerte en stund, men så endret jeg apache-oppsettet på maskinen fra å bruke (debians) apache + mod_perl til apache-perl. Jeg får ingen feilmeldinger og har prøvd både med $, og Use English + $OFS... Noen tips / ideer?

 

M.

Videoannonse
Annonse
Skrevet

Hvorfor bruke "$,"-variabelen? Det er jo 100% unødvendig. Bruk en for-sløyfe istedenfor og du sparer 2 linjer i samme slengen..

 

print "$_</td></td>" for (@arry);

Skrevet

TIMTOWTDI...

 

Takk skal du ha, den var lur.. Hvorfor tenkte jeg ikke på det :blush:

 

(Men jeg forstår fortsatt ikke hvorfor $, plutselig holdt opp å fungere...)

 

 

M.

  • 1 måned senere...
Skrevet

Synes det var "morsomt" tenkt å bruke $,

 

Men for mye jobb for noe så lite?

 

Annen mulighet:

 

print "<tr>".join("",map"<td>$_</td>",@a)."</tr>"
 while @a=$h_rpp->fetchrow_array;

 

Eller:

 

print "<tr><td>".join("</td><td>",@a)."</td></tr>"
 while @a=$h_rpp->fetchrow_array;

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...