in reply to single line if conditional

Works like the code says it should. I think you may want to set $hash{name} = "this and that" if $name is empty. I could be wrong. Right now you are doing the reverse. If it has something in it then you do the assignment.

I have a hunch this is what you meant:
$name = param('name'); $hash{name} = 'this and that' if $name eq '';
What do you want this piece of code to do? What happens when you run it?

- Tom