Carp::confess('Category unspecified') unless defined $category;
/[^\w-]/ and Carp::confess('Invalid argument') for $name, $category;
} elsif (defined $args{atom}) {
my $atom = $args{atom};
$atom =~ m{^([\w-]+)/([\w-]+)-v?($version_rx)$}
or Carp::confess('Invalid atom');
Carp::confess('Category unspecified') unless defined $category;
/[^\w-]/ and Carp::confess('Invalid argument') for $name, $category;
} elsif (defined $args{atom}) {
my $atom = $args{atom};
$atom =~ m{^([\w-]+)/([\w-]+)-v?($version_rx)$}
or Carp::confess('Invalid atom');