in reply to Detecting a Null or Enter key
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 ?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Detecting a Null or Enter key
by ikegami (Patriarch) on Jan 11, 2009 at 18:12 UTC | |
by Bloodnok (Vicar) on Jan 11, 2009 at 18:20 UTC | |
by ikegami (Patriarch) on Jan 11, 2009 at 18:30 UTC | |
by Bloodnok (Vicar) on Jan 11, 2009 at 20:51 UTC |