in reply to Passing a scalar to a subroutine

Actually argument passing isn't the problem in your code. Since you define $value in a file scope, it's visible to your subroutine w/o being passed.

If I may draw your attention to something else?

chomp ($input = <STDIN>); $input = $value; # <--- are we sure about this?!? #call subroutine to check user input verification($value)

If I may suggest $value = $input?