Schrift
[thread]867[/thread]

Umsetzung eines Konsolenskripts: Hilfe für Perl-Newbie (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Ronnie
 2006-12-30 00:23
#9418 #9418
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Laut sambar-Webseite (http://www.sambar.com/syshelp/cgi.htm) handelt es sich wohl um ein (abgespecktes?) Indigo-Perl. Du kannst dir aber auch ein Activestate-Perl installieren und in der config.ini angeben wo der Interpreter installiert ist. Das Modul CGI scheint bei der Sambar-Installation zu fehlen.
MisterL
 2006-12-30 01:21
#9419 #9419
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Hallo nochmal.

Da muss der Meister mal wieder selbst aktiv werden und benutzt Windows 2000 und Sambar 6.4 nebst ActivePerl 5.6.8
Die Fehlermeldung wg. @INC deutet auf ein fehlendes Modul hin. In der Eingabeaufforderung zu installieren mit "cd C:\perl\bin", "ppm install CGI".
Das vom Ronnie gepostete Skript funktioniert fast anstandslos (uninitialized variable at line 49), wenn man das HTML-Dokument und die Perl-Datei unter \Programme\sambar\sambar64\cgi-bin speichert (*) und aufruft. Z.B. mittels http://localhost/cgi-bin/umrech.html

(*)bzw. die HTML-Datei eine Ebene tiefer ansetzt um den Code in der Perl-Datei zu erhalten

Und für das nächste Mal sollte man das wiederholte Posten von Code bitte unterlassen, sonst könnte einem dieses Schicksal drohen: http://www.nrhz.de/flyer....gen.jpg
“Perl is the only language that looks the same before and after RSA encryption.”
Ronnie
 2006-12-30 01:42
#9420 #9420
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=MisterL,30.12.2006, 00:21]Das vom Ronnie gepostete Skript funktioniert fast anstandslos (uninitialized variable at line 49), wenn man das HTML-Dokument und die Perl-Datei unter \Programme\sambar\sambar64\cgi-bin speichert (*) und aufruft.[/quote]
@MisterL: Man könnte in der if-Bedingung noch mit exists prüfen ob der Hash-key existiert, dann würde die Meldung verschwinden.

Nochmal der Hinweis: Es ist keine separates HTML-Datei nötig, da das CGI ein Formular generiert, wenn es ohne einen action-Parameter aufgerufen wird.
MisterL
 2006-12-30 02:14
#9421 #9421
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Quote
Nochmal der Hinweis: Es ist keine separates HTML-Datei nötig, da das CGI ein Formular generiert, wenn es ohne einen action-Parameter aufgerufen wird.

Das ist sicher richtig. Nur weiss man jetzt nicht, ob das die Aufgabe im Sinne des Fragestellers löst ;-)
Könnte ja sein, dass er noch kein CGI kennt oder die Aufgabe ein HTML-Formular mit Zugriff auf eine Perldatei zwingend vorschreibt.\n\n

<!--EDIT|MisterL|1167437713-->
“Perl is the only language that looks the same before and after RSA encryption.”
Ronnie
 2006-12-30 02:21
#9422 #9422
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=MisterL,30.12.2006, 01:14](...) oder die Aufgabe ein HTML-Formular mit Zugriff auf eine Perldatei zwingend vorschreibt.[/quote]
Hausaufgabe? Und das über die Ferien *lacht*.
Ja, hast schon Recht.
subi
 2006-12-30 02:59
#9423 #9423
User since
2006-12-29
6 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

das war spannend eure Diskussion zu verfolgen, ich warte aber immer noch auf einen konkreten Hinweis.

MfG
topeg
 2006-12-30 05:47
#9424 #9424
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Schu mal bei CPAN:CGI Da solltest du alle nötigen Informationen finden können.
renee
 2006-12-30 11:59
#9425 #9425
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du solltest CPAN:CGI Wiki:installieren. Dann sollte es ungefähr so gehen:
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
#!/usr/bin/perl

use strict;
use warnings;
use CGI;

my $cgi = CGI->new();
my %params = $cgi->Vars();

print $cgi->header();

my $factor = 1.95583;
my $result = 0;
my $origin = 'EUR';

if($params{radiobutton} eq 'EUR'){
$origin = 'DM';
$result = $params{betrag} / $factor;
}
else{
$result = $params{betrag} * $factor;
}

print $params{betrag}," ",$origin," entspricht ",$result," ",$params{radiobutton};


Übrigens muss in Deinem HTML-Formular bei
Code: (dl )
    <input type="radio" name="EUR" value="radiobutton">
noch value mit name vertauscht werden! (bei dem anderen Radiobutton natürlich auch!)\n\n

<!--EDIT|renee|1167472819-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-12-29 20:11.