App::FatPacker will turn your (pure perl) script and its dependencies into a single file for deployment.
App::staticperl will build a static binary with the perl+C dependencies built in.
A lot of the time, it's better to use a plenv + Carton, mind, but if you want a single file for deployment, that's a solved problem in perl land too and has been for years.