2011-02-03T16:37:24
Linuxer2011-02-03T16:35:46
mikaIn get_adressen musste es my @config=shift; sein, nicht my $config=shift;. Aber das war sicher ein copy'n'past fehler. sonst läuft es - Dankeschön!
shift holt das erste Element aus
@_; damit ist
$config IMHO schon korrekt.
Hast Du dazu einen Fehler oder eine Warnung bekommen?
Oder warum glaubst Du, dass
my $config = shift; falsch wäre?
Falsch ist es nicht, nur funktioniert es in meinem Code so nicht... Warum kann ich nicht sagen. Es geht um die Funktion sendmail.
Ich erhalte so keinen Fehler, aber es wird auch nicht in die for-Schleife gesprungen. Wenn ich es so mache wie hier (Mit
my @config=shift; tuts das.)
2011-02-03T16:37:24
LinuxerQuoteDie Funktion chomp war mir neu und $_=split(/;/,$_) for(@db); liegt ja eigentlich auf der Hand...
Hier bin ich eher irritiert.
Jede gelesene Zeile wird am Semikolon in Felder gesplittet. Das Ergebnis (eine Liste) wird eben dem Skalar,
der zuvor die Zeile enthielt, wieder zugewiesen. Somit steht nun die Anzahl der Listenelemente in dem Skalar.
(Zuweisung einer Liste an einen Skalar).
Ist das so erwünscht? (Ich gebe zu, nicht den gesamten Code betrachtet/analysiert zu haben.)
Was übersehe ich?
Quicktest:
perl -wle 'my $line = split(/;/, "a;b;c"); print $line'
Use of implicit split to @_ is deprecated at -e line 1.
3
Nur so Gedanken meinerseits.
Gut aufgepasst, da denkst du richtig. Es sollte wenn schon eine Liste/Array bleiben statt ein Skalar/String... Jetzt wo du es sagst, aber so Fit bin ich in Perl nicht.
Doch nun ist dieser Teil ja irrelevant da ich hierfür das
Text::CSV Modul nutze.