konwersja napisu na numer telefonu
Chciałem poszukać sobie numeru komórki który będzie jakimś fajnym napisem. Nie chciało mi się tego napisu „konwertować” patrząc na klawiaturę telefonu. Nie chciało jak diabli.
#!/usr/bin/perl -w
use strict;
if ( @ARGV ) {
my $number = '';
foreach my $o ( @ARGV ) {
print $o;
my @data = split '', '22233344455566677778889999';
map { my $c = ord lc $_;$number .= $c > 57 ? $data[ $c - 97 ]:$_ } split '', lc $ARGV[0];
$number .= ' ';
}
print ': ' . $number;
}
else {
print 'usage: convert.pl string';
}
print "\n";
Pobierz źródło: konwersja-napisu-w-numer.pl.gz
Szukaj
Tagi
ostatnie komentarze
- Marcin o Wtyczka WordPress ” upPrev
- Eva (My Client is Rich) o Wtyczka WordPress ” upPrev
- Marcin o WordPress: losowa kolejność postów
- Michał o WordPress: losowa kolejność postów
- Marcin o WordPress: losowa kolejność postów
- Michał o WordPress: losowa kolejność postów
- Marcin o WordPress: blokowanie w robots.txt kilku rzeczy
- SpeX o WordPress: blokowanie w robots.txt kilku rzeczy
- Thanks God it’s Friday | Studio Multimedi@lne ljasinski.pl o WordPress: blokowanie w robots.txt kilku rzeczy
- Paweł Nowak o WordPress: blokowanie w robots.txt kilku rzeczy
ostatnio popularne wpisy
- Jak używać w odnośnikach użyć mailto
- WordPress na wiele języków
- Ostatnia wersja WPML na licencji GPL
- Tworzenie layoutu ” krok po kroku
- Interaktywna mapa Polski ” wtyczka do WordPressa
- WordPress: Jak ustawić strony z wpisami?
- WordPress: jak zmodyfikować atrybuty ikony wpisu?
- Wyświetlanie jednej kategorii wpisów na stronie głównej
- WordPress: jak zmienić tło w co drugim wpisie
- WordPress: blokowanie w robots.txt kilku rzeczy
Liczba komentarzy: 2
29 lipca 2008 o godzinie 17:23 depesz skomentował:
hmm .. jak masz foreacha, to czemu $ARGV[0] ?
poniższa wersja potrafi wypisać numery dla kilku słów:
#!/usr/bin/perl -w
use strict;
die ‘usage: convert.pl string’ unless @ARGV;
my @digit_for_letter = split ”, ’22233344455566677778889999′;
for my $word ( @ARGV ) {my $number = '';
for my $char ( split //, lc $word ) {
my $ascii = ord $char;
if ($ascii >= 97 && $ascii <= 122) {
$number .= $digit_for_letter[ $ascii - 97 ];
} else {
$number .= $char;
}
}
printf "%s : %s\n", $word, $number;
}
30 lipca 2008 o godzinie 7:43 Marcin skomentował:
Fakt.
ostatecznie:
use strict; die 'usage: convert.pl string' unless @ARGV; my @data = split '', '22233344455566677778889999'; foreach my $o ( @ARGV ) { print $o . ': '; map { my $c = ord lc $_;print $c > 57 ? $data[ $c - 97 ]:$_ } split '', lc $o; print "\n"; }Dodaj komentarz
Należy wpełnić pola oznaczone znakiem gwiazdki "*". Proszę zapoznać się z zasadami komentowania.