in reply to Re^2: invoking umask command in perl
in thread invoking umask command in perl

Your terminal example corresponds to this:
perl -e 'print `bash -c "umask 0037 ; umask"`'
And it works as well. What you are trying to do corresponds rather to this terminal session:
umask 0037 exit umask
which, clearly, does not do what you want.