in reply to Really simple (I hope) CGI question

\t and \n are only interpreted as tabs and newlines in double-quoted text:
$nl = "\n"; # newline $nl = '\n'; # backslash n $nl = qq(\n); # newline $nl = q(\n); # backslash n

Basically, this means that your literal text is either quoted wrong (if it's a literal string in your code) or it has a literal \n (not a newline) in the text (if you're reading it from a file / somewhere else).

see also Quote and Quote-like Operators in the perlop manpage.

update: If you *really* want to interpret all \n as newline and \t as tabs from your input, you can do something like this:

for (@input) { s/\\n/\n/g; # replace \n with newline s/\\t/\t/g; # replace \t with tab }
Note: this doesn't take quoting into account (\\n will be \ followed by a newline)