If this Raspberry Pi has Linux on it, you could download and install a program called "yad." It allows you to open a tiny web browser in window that has no "decoration" around it, which means it has no title bar and frame and status bar. It's just a page. If the web page contains a single image, then all you see is one image on the screen. You can tell it to place this webpage on top of all other windows. You can tell it where to place it on the screen. The only disadvantage is that when you interact with what's on the screen, the program "yad" doesn't fire a live signal to your perl program. Instead it can either collect all the activity you've done and then dump it to stdout when you close it or exit, OR you can tell it to exit immediately after a click, so the program will close each time you click a button or press an image. This means that you'll have to call yad again to open the window and show the next page or next activity. This wouldn't be ideal for a paint software or a temperature monitor where you have constant live communication between your perl program and the user interface, because yad doesn't do that. You can call yad and then interact with the GUI and then it closes and sends feedback to your perl program, and then it can do something with it, collect a bunch of data and build a dynamic webpage and call yad to display the new information. I don't think this is ideal for you, but I just thought I would mention it as an alternative idea. I am curiously waiting for some of the experts to chime in and share how this problem is supposed to be solved "the right way."
Read more about yad: https://www.systutorials.com/docs/linux/man/1-yad/
You may want to use some of these options: --html --uri --print-uri --undecorated --on-top --fullscreen --maximized