}
push @matches, $match;
}
- for $match (@matches) {
- print "$match\n";
- }
+ return @matches;
}
sub wplookup {
}
push @matches, $match;
}
- for $match (@matches) {
- print "$match\n";
- }
+ return @matches;
}
$tel = $ARGV[0];
$yppid = open YP, "-|";
if($yppid == 0) {
- yplookup $tel;
+ $mod = 0;
+ bt: while(1) {
+ if(@matches = yplookup $tel) {
+ for $match (@matches) {
+ print $match;
+ print " ($tel)" if $mod;
+ print "\n";
+ }
+ last bt;
+ }
+ last bt if !($tel =~ /(.+)[^0](0*)$/);
+ $tel = $1 . "0" . $2;
+ $mod = 1;
+ }
exit 0;
}
$wppid = open WP, "-|";
if($wppid == 0) {
- wplookup $tel;
+ for $match (wplookup $tel) {
+ print "$match\n";
+ }
exit 0;
}
binmode(YP, ":utf8");
binmode(WP, ":utf8");
-match: while(<YP>) {
+match: while(<WP>) {
chomp;
for $prev (@matches) {
- next match if $prev eq $_;
+ next match if (lc $prev) eq (lc $_);
}
+ print "$_\n";
+ flush;
push @matches, $_;
}
-match: while(<WP>) {
+match: while(<YP>) {
chomp;
for $prev (@matches) {
- next match if $prev eq $_;
+ next match if (lc $prev) eq (lc $_);
}
+ print "$_\n";
+ flush;
push @matches, $_;
}
-
-for $match (@matches) {
- print "$match\n";
-}