#!perl HELP1 "unlisted" => "Buy unlisted product (manual entry)"; sub command :Tab(unlisted,donate) ($self, $cart, $command, @) { $command eq 'unlisted' or $command eq 'donate' or return NEXT; $self->{command} = $command; return "Price", \&amount; } sub amount($self, $cart, $arg, @) { $self->{amount} = parse_amount($arg) or return REJECT, "Invalid amount."; if ($self->{command} eq 'donate') { $cart->add(-$self->{amount}, "Donation (THANK YOU!)"); return ACCEPT; } return "Please provide a short description", \&description; } sub description($self, $cart, $desc, @) { $cart->add(-$self->{amount}, "Unlisted: $desc"); return ACCEPT; }