my $Check_orderId = $dbh->prepare("SELECT OrderId FROM items ORDER BY created ASC LIMIT 1"); $Check_orderId->execute(); my $Id = $Check_orderId->fetchrow(); if ($Id) { for ($Id) { my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, ); $ua->agent("MyApp/0.1"); my $url = "https://link.com/$Id"; my $req = HTTP::Request->new(GET=>$url); $req->header('Content-Type' => 'application/json; charset=UTF-8'); $req->header('X-CC-Api-Key' => ''); $req->header('X-CC-Version' => ''); my $Response = $ua->request($req); my $getback = JSON::XS->new->decode ($Response->content); my $Status = $getback->{status}; if ($Status ne 'received') { my $Check_orderId = $dbh->prepare("SELECT OrderId FROM items ORDER BY created ASC LIMIT 1"); $Check_orderId->execute(); while ( my $Id = $Check_orderId->fetchrow() ) { next if($Status ne 'received'); my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, ); $ua->agent("MyApp/0.1"); my $url = "https://link.com/$Id"; my $req = HTTP::Request->new(GET=>$url); $req->header('Content-Type' => 'application/json; charset=UTF-8'); $req->header('X-CC-Api-Key' => ''); $req->header('X-CC-Version' => ''); my $Response = $ua->request($req); my $getback = JSON::XS->new->decode ($Response->content); my $Status = $getback->{status}; } } if ($Status eq 'received') { # do staff, while done continue and check other row } } } $dbh->disconnect;