Here are a few random points i like to add to all that has been said by the others:
- Unicode support in Perl is solid. But it's up to you to make sure in many cases that you encode/decode UTF8 when transfering data in and out of Perl.
- When communicating with other programs on Linux, try to use Unix Domain Sockets (IO::Socket::Unix) instead of TCP. This has much less overhead and higher transfer rates.
- As the author of that system, i simply have to flog Net::Clacks as a nice library to do interprocess communication between Perl programs, see Net::Clacks for IPC (2024 tutorial).
- If you are in a position to choose a database for your project, i strongly recommend PostgreSQL. It's fast, reliable, lots of features. Best of all, server side scripting (functions, triggers) can be written in Perl.
- My own PageCamel web framework has no real documentation, i can't recommend you use it for your project. But feel free to "borrow" any code snippets you like.
- You have the option to run server-side JavaScript in Perl using JavaScript::Embedded, see also Re: Trying to translate overflowing JS code to Perl
- If you need to work with C code/C libraries, you can try using Inline::C before going the XS route.
- Don't be shy outputting lots of data to the Terminal. Perl and modern terminal emulators are quite fast: "Terminal Velocity" demo. See also "Terminal Velocity", a better Linux terminal graphics demo.
- When working in the terminal (locally or ssh) and you want to make sure you work with the correct image file, imagecat2 got you covered: Re: Imagecat - show color images in a terminal
- If your webserver needs to stream videos (recorded or live), it's easy enough to do with HLS: Video streaming module