<?xml version="1.0" encoding="windows-1252"?>
<node id="130974" title="Lovesong" created="2001-12-11 16:04:07" updated="2005-08-14 23:55:49">
<type id="1584">
poem</type>
<author id="114167">
giulienk</author>
<data>
<field name="doctext">
&lt;A HREF="http://www.thecure.com/ALL%20CURE%20LYRICS%20html%20Folder/1988-1990words.html"&gt;Lovesong&lt;/a&gt; by The Cure
&lt;CODE&gt;
#!/usr/bin/perl

@lovesong = qw(L o v e s on g);

while (($_= &lt;DATA&gt;) &amp;&amp; chomp &amp;&amp; $_)
    {$.&lt;=@lovesong ? ${$lovesong[$.-1]} = $_ : push @love, $_}

@song = @lovesong[-3..-1];

$lovesong = length($L.$o.$v.$e.$s.$on.$g) - @love ** 2;

print $L."\n"x2;

for ((split //, $s)[0..4]) {
    if (ord(lc) &lt;= $lovesong) {
        printf ("$o\n$v\n", $love[$j++]) for 0..1;
    } else {
        my $i;
        print ((ord(lc) &lt;= $lovesong? $e : ${$song[$i++]}) . "\n" )
            for (reverse split //, (split / /, $s)[0]);
    }
    print "\n";
}

__DATA__
Lovesong
Whenever I'm alone with you
You make me feel like I am %s again
I will always love you
However far away
However long I stay
Whatever words I say
home
whole
young
fun
free
clean
&lt;/code&gt;
&lt;BIG&gt;Update&lt;/BIG&gt;: better split in outer &lt;TT&gt;for&lt;/TT&gt; and fixed too long &lt;TT&gt;DATA&lt;/TT&gt;. Fixed an excessive &lt;B&gt;&lt;tt&gt;{&lt;/TT&gt;&lt;/B&gt; thanks to [tye]
&lt;P&gt;&lt;TT&gt;g&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;k&lt;/font&gt;i&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;n&lt;/font&gt;u&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;e&lt;/font&gt;l&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;i&lt;/font&gt;i&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;l&lt;/font&gt;e&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;u&lt;/font&gt;n&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;i&lt;/font&gt;k&lt;FONT SIZE=-5 COLOR=#EEEEEE&gt;g&lt;/font&gt;&lt;/tt&gt;</field>
</data>
</node>
