There's no need to replace existing versions of apps. It is entirely possible to install multiple extra versions providing you compile them with non-clashing install prefixes. I know people using RHEL whom have as many as 5-10 different GCC/G++ toolchain versions, each in /opt/. Likewise you can do this for other libraries like GTK. Perl / python is doable too, though you might need to change #!/usr/bin/perl in scripts to reference a binary with a specific alternate version number