in reply to Subroutine Question

Can anybody tell me why?

Because you should have written

my ( $userin2 ) = @_;
instead of  $_ = shift ;

See http://learn.perl.org/books/beginning-perl/ Chapter 8: Subroutines