in reply to Plusses obnox me

Perl offers some very powerful regular expression operators, see perlman:perlre for further details should you feel the urge. In the meantime, you can turn spaces into plusses like so:
my $str = "The Police"; $str =~ s/ /+/; # read between the slashes: space becomes + print "$str\n";
Will yield 'The+Police' - but that only gets the first space, if the string was 'Guided By Voices' then the result would be 'Guided+By Voices' - that's why you need to specify a global replace:
$str =~ s/ /+/g; # use this one ;)
So, for your example you might want to store these values away before you print to your filehandle:
my $escaped_artist = $FORM{songartist}; $escaped_artist =~ s/ /+/g; my $escaped_title = $FORM{songtitle}; $escaped_title =~ s/ /+/g; ... print FILE "<a href=nap ... (like you had before) print FILE "$escaped_artist - $escaped_title</a>\n";

Jeff

R-R-R--R-R-R--R-R-R--R-R-R--R-R-R--
L-L--L-L--L-L--L-L--L-L--L-L--L-L--

Replies are listed 'Best First'.
Re: (jeffa) Re: Plusses obnox me
by suaveant (Parson) on Apr 21, 2001 at 19:01 UTC
    there is also tr/ /+/, the translation operator... which I believe is faster than regexp, (but of course only works to replace characters, not whole strings like a regexp)
                    - Ant
Re: (jeffa) Re: Plusses obnox me
by Anonymous Monk on Apr 21, 2001 at 09:45 UTC
    Thank you kind sir. You can see the fruits of my (our!) labor at http://www.robotskull.com/cgi-bin/song.cgi