in reply to play with phone numbers & w perl :)

elsif ( $toto =~ /-s=(\w+)/ ) { print smstype($toto); }

I'm puzzled by the smstype call. Couple of things:

Just my € 0.02

update: /me should remember not to post when just woke up (<strike> added ...)

update: Mmm, although I'm barely awake (see above), I'd still like to rewrite the smstype sub a lil':

sub smstype { # Using uc() will allow the user to enter lowercase letters too my $first = uc($_[0]); my $sms; my $i = 0; foreach my $j ( split //, $first ) { $sms .= $telealph{$j}; # Make sure we get a comma between digits, but not at the end $sms .= ", " if (++$i < length($first)); } return $sms; }

Now the output of "./script.pl -s=B10M" will look like "2, 1, 0, 6", rather than "22, 11006,"

update: I just realize that you probably do want "22" for a "B", for you have to punch the 2 button twice on your phone. Nevermind, I'll go back to sleep and come back when awake ...

--
b10m

Replies are listed 'Best First'.
Re: Re: play with phone numbers & w perl :)
by dominix (Deacon) on Dec 27, 2003 at 12:42 UTC
    thanks, you're right for the typo ($toto instead of $1) and you were clever for the use of uc() to allow lowercase to be used, but the purpose of smstype is to tell us how do we have to type digit on cellular keypad to produce words (as SMS), and for instance it dont handle digit (as mentioned) because every brand of celular phone I've seen here have different view of the alphabet :-(
    --
    dominix