In order to use Perl do i have install apache and the related modules to run CGI programs?
In order to use Perl you don't have to install apache or the CGI modules (though CGI.pm is in the core distribution).
In order to write CGI programs you will want to use the CGI module, though it's not strictly neccisary. You can run CGI programs on practically any HTTP server (like IIS on windows), it doesn't have to be apache. There's even a couple of perl-only HTTP servers.
If you want other options, well, I like Getopt::Long for command line tools and the Tk GUI. You can also check out Curses or Term::Shell or Term::ReadLine or Gtk or Win32::GUI or Qt