#LinuxGER

Spinnt Perl oder ich?

Martin Schulze (joey@finlandia.Infodrom.North.DE)
Sat, 15 Nov 97 11:24 MET

Message-Id: <m0xWfOk-001MVQC@finlandia.Infodrom.North.DE>
Date: Sat, 15 Nov 97 11:24 MET
From: Martin Schulze <joey@finlandia.Infodrom.North.DE>
To: linux-ger@infodrom.north.de
Subject: Spinnt Perl oder ich?

Moin!

Folgede Situation:

@addrs = &uniq_fields($user
&user_email($cgi->param('staff0')),
&user_email($cgi->param('staff1')),
&user_email($cgi->param('staff2')),
$cgi->param('insertp'));

In den Argumenten steht, wenn ich mir fuer jede Zeile ein printf
mache, alles korrekt drin. uniq_fields() bekommt jedoch diese
Argumentliste zu sehen:

IN: `beq@@ddb``n,.bg, joey@infodrom.north.de, igor@debian.org, troup@debian.org

Wenn ich das ganze etwas auseinanderziehe:

push (@neu, $user);
push (@neu, &user_email($cgi->param('staff0')));
push (@neu, &user_email($cgi->param('staff1')));
push (@neu, &user_email($cgi->param('staff2')));
push (@neu, $cgi->param('insertp'));
@addrs = &uniq_fields($neu[0],$neu[1],$neu[2],$neu[3],$neu[4]);

bekomme ich in uniq_fields() wieder die korrekten Werte.

user_email() sieht so aus:

########### uniq_fields
#
# Loescht doppelte Eintraege aus der Liste - zur Vermeidung von
# doppelten Mails.
#
sub uniq_fields
{
local (@addrs) = ();
local ($addr);
local ($i) = 0;

while ($i <= $#_) {
$addr = $_[$i];
if (length($addr)) {
push (@addrs, $addr)
if (!grep(/$addr/,@addrs));
}
$i++;
}

return @addrs;
}

Jetzt frage ich mich natuerlich, wer spinnt hier. Perl oder ich.
Kann mich jemand erleuchten?

Gruesse,

Joey

-- 
  / Martin Schulze  *  joey@infodrom.north.de  *  26129 Oldenburg /
 /                                     http://home.pages.de/~joey/
/ The only stupid question is the unasked one                   /


This archive was generated by hypermail 1.02.