in reply to Diff between 'print POSIX::cuserid' and 'use POSIX; print cuserid'
In your first example, you did a use POSIX; in the second, you did not. Why?
Without loading POSIX you won't be able to call a function like POSIX::cuserid.
strict and see yourself what happens:
But with loading POSIX:
$ perl -wE 'say POSIX::cuserid'
Name "POSIX::cuserid" used only once: possible typo at -e line 1.
say() on unopened filehandle cuserid at -e line 1.
$ perl -MPOSIX -wE 'say POSIX::cuserid'
- replaced strict with warnings; removed strict from code examples; the warning is the crucial part.