$ cat Foo.pm package Foo; use warnings; use strict; use Data::Dump 'pp'; our $VERSION = 1.23; sub import { print "import ".pp(\@_)."\n" } 1; $ perl -wMstrict -e 'use Foo ()' $ perl -wMstrict -e 'use Foo' import ["Foo"] $ perl -wMstrict -e 'use Foo "bar"' import ["Foo", "bar"] $ perl -wMstrict -e 'use Foo 1.20 "bar"' import ["Foo", "bar"] $ perl -wMstrict -e 'use Foo "bar", "quz"' import ["Foo", "bar", "quz"] $ perl -wMstrict -e 'use Foo "bar", ()' import ["Foo", "bar"] $ perl -wMstrict -e 'use Foo "bar", (), "quz"' import ["Foo", "bar", "quz"] $ perl -wMstrict -e 'use Foo "CONDITION", "MODULE" => "ARGUMENTS"' import ["Foo", "CONDITION", "MODULE", "ARGUMENTS"] $ perl -wMstrict -e 'use Foo "CONDITION", "MODULE"' import ["Foo", "CONDITION", "MODULE"] $ perl -wMstrict -e 'use Foo "CONDITION", "MODULE" => ()' import ["Foo", "CONDITION", "MODULE"]