Luis: Werte übergeben

Hallo,

nachdem meine Forum.pl fertig ist, übergebe ich die Daten mit "exec" einer forummail.pl, damit die E Mails versendet werden.

Ich lese die Daten mit "@ARGV" ein:

#!/usr/bin/perl
####################################

Einlesen der uebergebenen Variablen

$basedir = $ARGV[0];
$eingetragen = $ARGV[1];
$mailprog = $ARGV[2];
$host = $ARGV[3];
$subject = $ARGV[4];
$email = $ARGV[5];
$num = $ARGV[6];
$origsubject = $ARGV[7];
$name = $ARGV[8];
$title = $ARGV[9];
$long_date = $ARGV[10];
$body = $ARGV[11];
$werbung = $ARGV[12];
$mesgdir = $ARGV[13];
$ext = $ARGV[14];
$mesgfile = $ARGV[15];

###E MAILS FUER Forum ABSENDEN

open(EMAIL,"$basedir/$eingetragen") die $!;
   @recipient = <EMAIL>;
   close(EMAIL);
  
   # Now send mail to $recipient
   foreach $recipient (@recipient) {
     open (MAIL, "$mailprog $recipient") die "Can't open $mailprog!\n";
     print MAIL "From:$host\n";
     print MAIL "To: Mitglieder\n";
     print MAIL "Subject:$subject (Nr. $num) \n";
     print MAIL "Reply-To:(Bitte direkt im Forum antworten)$email\n\n";

und so weiter...
    
###########################################

das funktioniert aber nur so lange, wie kein Leerzeichen in den übergebenen Werten ist, dann "verzählt" sich @ARGV

Wie kann ich das ändern?

Vielen Dank für ev. Antworten

Luis

  1. Hi Luis

    das hatten wir hier schon mal:
    <../../sfarchiv/1999_3/t06227.htm>

    bis dann
    gero

  2. Hallo,

    nachdem meine Forum.pl fertig ist, übergebe ich die Daten mit "exec" einer forummail.pl, damit die E Mails versendet werden.

    Ich lese die Daten mit "@ARGV" ein:

    das funktioniert aber nur so lange, wie kein Leerzeichen in den übergebenen Werten ist, dann "verzählt" sich @ARGV

    Klar, denn jedes Leerzeichen bedeutet einen neuen Eintrag in @ARGV

    Wie kann ich das ändern?

    Auf der Seite, die die Werte übergibt folgende Sonderzeichen umwandeln (mit Javascript).

    Leerzeichen   irgendein umständliches Zeichen z.B. § und dann mit split wieder entfernen.
    =                  %3D
    %                 %25
    "                   %22
    '                    %27
    usw.

    Einfach die Zeichen in eine Suchmaschine Eingeben, und den angezeigten Querystring analysieren.

    Chiau

  3. Danke, ich habs gefunden. Wenn ich die zu übergebenden Variablen in Hochkommas stelle, machen die Leerzeichen in den Variablen keine Probleme mehr.

    fork "/usr/bin/perl neuesforum_mail.pl '$basedir'";