use strict; use warnings; use constant UPDATE; use constant TIMEOUTVALUE => 10; while(1) { if ($scan = PERSONID) { #give status for the book, for example - borrowed } elsif ($scan = Book) { if ($transaction->{'STATE'} = PERSONID) { push (@(transaction->{'BOOK'})) } my $valid = 1; if (($transaction-> TIMEOUTVALUE) >= time() && ($transacion-> +{'STATE'} = PERSONID)) if ($valid) { $transaction->{'STATE'} = UPDATE; } } if (($transaction->{TIMEOUTVALUE} >= time()) && ($transaction->{' +STATE'} = BOOK)) { } else {$transaction->{'STATE'} = UPDATE; } } if ($transaction -> {'STATE'} = UPDATE) { my $book = join("&iid[]=", @{$transaction -> {'BOOK'}}) # if this is true then it updates }