Thanks everyone for helping. This is the code that worked for me:
################
open (LOG,">pending/" . $subject) or die("Error in opening the file :$!:");
########to replace space with underscore between text#####
$subject =~ s/ /_/g;
############################
Comment on Re^4: use variable as name for new file
If you realy insist on ignoring all advice given to you then eventualy your are going to get bitten by this and its going to realy hurt. One last time, by allowing the user to specify a file name or any part of a file name you are making yourself vulnerable to attack. What if for $subject they entered something like rm -rdf...yes my unix is lacking, but the point is that evil evil things can be done with this so DON'T do it!