$ perl -e 'package X;'
$ perl -e 'package 0;'
syntax error at -e line 1, near "package 0;"
Execution of -e aborted due to compilation errors.
####
$ alias perle
alias perle='perl -Mstrict -Mwarnings -Mautodie=:all -MCarp::Always -E'
####
$ perle '
package X {
use Scalar::Util "blessed";
sub new { bless {}, __PACKAGE__; }
sub meth1 { say "meth1: [", ref $_[0], "]" }
sub meth2 { say "meth2: [", blessed $_[0] // "undef", "]" }
sub meth3 { say "meth3: [", defined blessed $_[0], "]" }
};
package main;
my $x = 0;
my $y = X::->new();
$x->X::meth1();
$x->X::meth2();
$x->X::meth3();
$y->X::meth1();
$y->X::meth2();
$y->X::meth3();
'
meth1: []
meth2: [undef]
meth3: []
meth1: [X]
meth2: [X]
meth3: [1]