in reply to Use of uninitialized value in substitution (s///)

The line
$message = s/<[^>]*>//g;

does a substitution on $_, and assigns the result to $message. But $_ is undefined, so you get the error. What you want is =~ instead of =.

But this a pretty naive, and wrong, way of deleting HTML tags. Some cases where your program goes wrong:

<IMG SRC = "foo.gif" ALT = "A > B"> <!-- <BR> --> A < B or B > A

Abigail