Господа, вот наша погода:
Код:

<xsl:apply-templates select="document('pogoda.xml')/rss"/>
<!-- Погода -->
<xsl:template match="channel">
<xsl:for-each select="item">
<xsl:value-of select="title"/><xsl:text>.</xsl:text>
<xsl:variable name="one_liter" select="translate(substring(description,1,1),'ёйцукенгшщзхъфывапролджэячсмитьбю','ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ')"/> <!-- Что-то типа uppercase для первого символа-->
<xsl:value-of select="concat($one_liter,substring(description,2))"/><xsl:text>.</xsl:text>
</xsl:for-each>
</xsl:template>
Запрашиваем погоду и сохраняем:
Код:

#!/usr/bin/perl
use strict;
use LWP::Simple;
my $link="http://informer.gismeteo.ru/rss/33345.xml";
my $pogoda=get $link;
die "Couldn't get it!" unless defined $pogoda;
open (POG, ">xsl/pogoda.xml");
print POG "$pogoda";
close POG;