smartmatch and given are experimental

there is no good solution to avoid the warning, so I removed such statements
use strict and warnings directly

this module no longer depends on Modern::Perl
allow arrayrefs to be passed
fix experimental warning
fix typo
bump to version 0.12