Some addition to the relation Tk/Perl/Tcl:
- Perl/Tk is a ported version of Tk which is independent from Tcl. In fact, you simply install it from cpan, with no need of a Tcl installation.
- On the contrary, Tcl::Tk and Tcl::pTk use a real installation of Tcl/Tk present on the machine. The bridge Perl to Tcl (and vice versa) is done by the Tcl module which is a required dependency of both modules mentioned before. Both modules are similar, being Tcl::pTk more focused on using a syntax which is 1=1 to Perl/Tk (in fact you can run Perl/Tk applications with no or minimal adaptation)
On a side note: if Perl/Tk is a fantastic module for out-of-the-box UI projects, the advantages of using Tcl::Tk or Tcl::pTk are:
- You use with Perl the real Tcl/Tk. This allows to use the latest release, which is continuously updated (for example to accommodate the latest macOS features).
- It allows deployment on macOS (Catalina too) with native widgets and macOS look&feel (Tk on macOS requires X11 installed, and looks "very old"). UI looks modern both on Windows and on macOS. I guess the same applies to Linux too.
I 've started to write an extensive guide on how to deploy modern Perl+Tcl/Tk application for Windows and macOS (setup/coding/packaging/code signing/etc.). I will post here a link when I am finished (in some weeks time). Maybe somebody will find it useful.