Even better, IMO, would be to use a hash-based dispatch table keyed on (what was previously) $bak_id expressed as a regex e.g.#!/usr/bin/perl use warnings; use strict; local ($bak_id)=shift; local ($acc_bal)=shift; $bak_id=<STDIN>; $acc_bal=<STDIN>; chomp ($bak_id); print "Returning to MM\n", exit 0 unless $bak_id; . . .
or some such.#!/usr/bin/perl use warnings; use strict; my %dispatch = ( '' => sub { print "Returning" ; exit }, 'BOTH' => sub { my $acc_bal = shift; . if ($acc_bal < 1.0) { . . } else { . . } }, 'Cust1|Cust2' => sub { my $acc_bal = shift; . if ($acc_bal < 1.0) { . . } else { . . } }, ); my ($bak_id, $acc_bal); while (1) { chomp($acc_bal = <STDIN>); foreach my $re (keys %dispatch) { next unless $acc_bal =~ /^(?:$re)$/; &{ $dispatch{$_} }(chomp <STDIN>); } } . .
Afterthought: I've only just realised that you don't allow a value of 0 - it's either less or grater than 0 ?
In reply to Re: Detecting a Null or Enter key
by Bloodnok
in thread Detecting a Null or Enter key
by John007
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |