Global symbol "$x" requires explicit package name at ..

You need to declare the variable $x by my.

Use of uninitialized value $x in ... at ...

$x contained undef.

Name "main::x" used only once: possible typo at ...

What it said. It probably refers to $x.

Can't locate Module/ in @INC (@INC contains: ... )

You probably have "use Module::NameX" in your code meaning you are trying to load Module::NameX. Either there is a typo in the name of the module (e.g. in our case it is probably called Module::Name) or you need to install Module::NameX.

Scalar found where operator expected at ...

Probably a , is missing between parameters of a function?