Peru has several train services of interest to visitors, including the famous train to Machu Picchu. There are two separate networks:
The southern network including Cusco to Machu Picchu & Cusco to Puno Flight (on Lake Titicaca). Passenger trains are run by a western company called PeruRail (www.perurail.com), part of the Venice Simplon Orient Express group. Two other private companies, http://www.machupicchutrain.com & http://www.incarail.com also offer competing shuttle trains to Machu Picchu, starting from Ollantaytambo which is further up the valley towards the Inca city.
related photo: cusco to puno bus time