webForumDet fria alternativet

Subrutin

2 svar · 682 visningar · startad av demo

demo
#1

Hejsan!

Har lagt in en subrutin längst ned i en cgi-fil. Subrutinen är en kort kod som skriver ut innehåller i en textfil, och ser ut enligt nedan.

Om jag vill öppna denna subrutin i en webläsare, hur ser då URL-en ut?
Har provat med att lägga ex. scriptet.pl?utskrift. Har även kikat på andra skript och sett hur de gjort, men inte fått det att fungera.

Tycker att man borde kunna anropa en kortare subrutin via en webläsare, istället för att göra ytterliggare en cgi-fil.

Mvh,
Demo
=====================================

sub utskrift{

$k=0;
open (MOTIV,"gast.txt");
while ($rad=<MOTIV> ){
$k++;
$rad=~/(.*): :(.*): :(.*): :(.*): :(.*): :(.*)/;

$text1[$k]=$1;
$text2[$k]=$2;
$text3[$k]=$3;
$text4[$k]=$4;
$text5[$k]=$5;
$text6[$k]=$6;
}
close (MOTIV);

print "Content-type: text/html\n\n";
print "<body bgcolor=\"#cccc99\" text=\"#333300\">";
print "<center><p><b>Gästlista:</B>";
print "<table border=\"0\" width=\"220\">";
print "<small>";

while ($k ne 0){
print "<HR>";

if($text3[$k] ne "ej ifyllt")
{
print "<b><a href=\"mailto:$text3[$k]}\">$text2[$k]</A></b> <small><i>($text1[$k])</I><br>\n";
}
else
{
print "<b>$text2[$k]</b> <small>($text1[$k])<br>\n";
}

print "$text5[$k]<br>";

print "$text4[$k]</b><p>";
print "$text6[$k]</small><br>";
$k--;
}

RobbanMedlem sedan dec. 19992 272 inlägg
#2

Du kan inte komma åt subrutiner direkt via CGI-gränssnittet utan du får i så fall lägga in några rader i början scriptet som t.ex. undersöker $ENV{'QUERY_STRING'} och sedan anropar rätt subrutin (förslagsvis en if-sats).

När du anropar ett CGI-script från webläsaren anropar du hela scriptet, varken mer eller mindre.

------------------
Robban < robban@lipogram.com >

demo
#3

Hej igen!

Tack för ditt svar.
Här hade jag dock skrivit och bett om ett exempel då mina försök inte lyckats.

Fortsatte att försöka och kom då fram till
att följande sats måste bli den korrekta:
(av den snledningen så har jag rediugerat lite i inlägget)

if($ENV{'QUERY_STRING'} eq ""){
&lista;
}

Om inget skickas med, så skuttar scriptet ned till subrutinen lista och skriver ut innehållet i gästlistan.

Mvh,
Demo

[Redigerat av demo den 02 jan 2000]

Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb