in reply to Re^4: Breaking issue
in thread Breaking issue

Hi Corion, thanks again. this time again I have update the code to more detail. Is this helpfulnow ? Look at the regular expression at line 5. This expression needs to be matched and the entity of UPDATE section is added in this post, this is how it is working, the scanner is connected to com port if com port matches a receiver thread starts at command prompt.

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 t +his is true then it updates }

Replies are listed 'Best First'.
Re^6: Breaking issue
by hippo (Archbishop) on Jul 20, 2017 at 09:01 UTC
    if ($scan = PERSONID) { # ... if ($transaction->{'STATE'} = PERSONID) # ... if ($transaction -> {'STATE'} = UPDATE) {

    Are you aware that those are assignments and not comparisons?

      Yes Iknow it is assignment. For the scan and state of person ID we have separate variables here. But in the code given here i have wrote the same.
        But an assignment doesn't make much sense, in this case. Assignment in an if-condition is useful only if you need to reuse that condition value, e.g. instead of
        if (complicated == condition) { do something with the same complicated == condition }
        we can write
        $value = complicated == condition; if ($value) { do something with the same $value }
        or shorter, similiar to your code:
        if ($value = complicated == condition) { do something with the same $value }
        so that one doesn't need parse the complicated == condition again to see that it's the same in both places. But in your example that would be pointless because what I dubbed "complicated == condition" is just a single value which seems to remain unchanged.

        And now for something completely different: In the OP, you mentioned a library. Have you heard about / looked into Koha, an open source LMS written in Perl?