Thread Problem mit sendmail (HTML-Mail erzeugen und senden) (51 answers)
Opened by carsten1976 at 2010-03-27 01:36

renee
 2010-03-27 09:55
#135342 #135342
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was Du falsch machst? Du benutzt Prototypen. Du weißt vermutlich nicht, was Prototypen in Perl sind, oder?

Mit Prototypen kann man sagen, wie viele und welche Art von Parametern eine Subroutine annimmt. Man kann damit einige Spielereien machen, aber in den meisten Fällen machen sie das nicht, was ein unbedarfter (ergo ein Prototyp-Einsteiger) Programmierer erwartet. Ich empfehle immer, die Prototypen wegzulassen, so lange man nicht weiß was man tut.

Du sagst bei der Definition der Subroutine, dass kein Parameter übergeben werden soll, weil Du "()" hinter den Funktionsnamen schreibst.

Damit Prototypen eine Auswirkung haben, musst Du diese *vor* dem ersten Aufruf definieren.

Also
Code (perl): (dl )
1
2
3
4
5
sub mytest($){
    print $_[0];
}

mytest(3);


Warum Du mit dem "&" keinen Fehler bekommst: Wenn man "&" benutzt oder die Subroutine als Methode aufgerufen wird (also bei OO), dann haben werden die Prototypen nicht berücksichtigt...

In Deinem Fall ist es am besten, wenn Du
Code (perl): (dl )
1
2
3
sub MIMEENCODE {
  ...
}
also ohne die "()" schreibst.

Übrigens gibt es auch Module, die das Encoding übernehmen können...
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/

View full thread Problem mit sendmail (HTML-Mail erzeugen und senden)