in reply to Re^4: perl unpack and matching the unpacked data
in thread perl unpack and matching the unpacked data
andif ( $data eq "8000" || $data eq "0080" ) { $tid = "TEST"; $buf = "TEST SYSTEM"; } elsif ...
are strictly equivalent (in this case). As others have commented, || and or have different precedence, but that doens not make any difference here. Personally I prefer to use the lower precedence or when grooping to Boolean expresions, but that's a matter of taste and that's debatable.if ( $data eq "8000" or $data eq "0080" ) { $tid = "TEST"; $buf = "TEST SYSTEM"; } elsif ...
on the other hand is just wrong, although the compiler will assign a meaning to it. It is wrong in the sense that it is simply not doing what you intend: this is saying : if $data is "8000" or if "0080", which will be always true, because "0080" is a true value. So fix it as you said (with either of the two syntaxes shown at the beginning of this post) and your program should work properly.if ( $data eq "8000" || "0080" )
|
|---|