-my ($action, $count, $key, $data) = (0,0,0,0);
-for ($action = DXUser::R_FIRST, $count = 0; !$DXUser::dbm->seq($key, $data, $action); $action = DXUser::R_NEXT) {
- if ($data =~ m{registered =>}) {
- if (!$line || ($line && $key =~ /$line/)) {
- my $u = DXUser->get_current($key);
- if ($u && $u->registered) {
- push @out, $key;
- ++$count;
+sub generate
+{
+ my $self = shift;
+ my $line = shift;
+ my @out;
+ my @val;
+
+# dbg("set/register line: $line");
+
+ my %call = ();
+ $call{$_} = 1 for split /\s+/, $line;
+ delete $call{'ALL'};
+
+ my ($action, $count, $key, $data) = (0,0,0,0);
+ unless (keys %call) {
+ for ($action = DXUser::R_FIRST, $count = 0; !$DXUser::dbm->seq($key, $data, $action); $action = DXUser::R_NEXT) {
+ if ($data =~ m{registered}) {
+ $call{$key} = 1; # possible candidate