MAのみを出力するオプション --only-ma を追加.
authorsatomichan <git-kitte.20250824@...>
Thu, 4 Dec 2025 05:06:22 +0000 (14:06 +0900)
committersatomichan <git-kitte.20250824@...>
Thu, 4 Dec 2025 05:06:22 +0000 (14:06 +0900)
tel2ma.pl

index a33a0e16221a4800f55f698d47afed43ce6a01c0..72ed2200c5e1c8b754b51f228ea2904a2aa3deee 100755 (executable)
--- a/tel2ma.pl
+++ b/tel2ma.pl
@@ -35,31 +35,42 @@ binmode STDOUT, ":utf8";
 binmode STDERR, ":utf8";
 
 use Encode;
+use Getopt::Long qw(:config posix_default no_ignore_case gnu_compat);
 
 
 
+# オプション解析
+my $is_only_ma = 0;
+GetOptions('only-ma' => \$is_only_ma,  );
+
+usage(), exit unless @ARGV;
+
 my( $tel ) = @ARGV;
 $tel =~ s/-//g;
 
+
 if($tel =~ /^(0570)(...)(...)$/){
-    print "$1-$2-$3 ナビダイヤル\n";
+    print "$1-$2-$3 " unless $is_only_ma;
+    print "ナビダイヤル\n";
     exit;
 }elsif($tel =~ /^(0120)(...)(...)$/){
-    print "$1-$2-$3 フリーダイヤル\n";
+    print "$1-$2-$3 " unless $is_only_ma;
+    print "フリーダイヤル\n";
     exit;
 }elsif($tel =~ /^(0800)(...)(....)$/){
-    print "$1-$2-$3 フリーダイヤル\n";
+    print "$1-$2-$3 " unless $is_only_ma;
+    print "フリーダイヤル\n";
     exit;
 }elsif($tel =~ /^(050)(....)(....)$/){
-    print "$1-$2-$3 IP電話\n";
+    print "$1-$2-$3 " unless $is_only_ma;
+    print "IP電話\n";
     exit;
 }elsif($tel =~ /^(0[789]0)(....)(....)$/){
-    print "$1-$2-$3 携帯電話\n";
+    print "$1-$2-$3 " unless $is_only_ma;
+    print "携帯電話\n";
     exit;
 }
 
-usage(), exit unless $tel =~ /^0.{9}$/;
-
 
 foreach my $line (<DATA>) {
     chomp $line;
@@ -83,7 +94,12 @@ foreach my $line (<DATA>) {
                 #加入者番号
                 my $subsc =  substr($tel, -4);
 
-                print "$ac-$exch-$subsc ${ma}MA $munics\n";
+                if( $is_only_ma ){
+                    print "${ma}MA\n";
+                }else{
+                    print "$ac-$exch-$subsc ${ma}MA $munics\n";
+                }
+
                 exit;
             }