sub x {
$_[HEAP]->{FORUMS_ID}=1;
$_[KERNEL]->yield("dbi_quote",$text);
$_[KERNEL]->yield("print_forums_ids",$text);
}

sub dbi_quote {
 $k->post("ladbi" => "quote",
          SuccessEvent => "insert",
          FailureEvent => "failed",
          HandleId => $dbh_id,
          Args => [ $_[ARG0] ],
          );
}

sub insert {
if($_[HEAP]->{TYPE} eq 'F')
{
my $sql="insert into forums values(nextval('forum_id'),'text')";
$_[HEAP]->{FORUMS_ID}++;
}
elsif($_[HEAP]->{TYPE} eq 'T')
{
my $sql="insert into topics values(nextval('forum_id'),$_[HEAP]->{FORUMS_ID},'text')";
}
$k->post("ladbi" => "do",
SuccessEvent => "select",
FailureEvent => "failed",
HandleId => $dbh_id,
Args => [ $sql ],
);
}


sub print_forums_ids {

print "ID: ",$_[HEAP]->{FORUMS_ID};
}


It will print:
1
1
1
1
1
...
Just first value. When I use call it prints the last value.
17
17
17
17
17
...



Thanks. --- Professional hosting for everyone - http://www.host.ru

Reply via email to