Dass es nicht funktioniert hat nichts mit der Parameterübergabe zu tun.
- Es fehlt use Tk;
- Es muss use Tk::Canvas heißen, nicht use Tk-Canvas;
- Es muss $mw->Canvas()->pack() heißen, nicht $mw->canvas()->pack();
- write() ist eine eingebaute Funktion von perl. Nimm besser einen anderen Namen.
- Die Parameter von createText fehlen. ;-)