diff -ruN man-pages-ja-20011115.orig/script/configure.perl man-pages-ja-20011115/script/configure.perl --- man-pages-ja-20011115.orig/script/configure.perl 2002-06-07 01:51:46.000000000 +0900 +++ man-pages-ja-20011115/script/configure.perl 2002-06-07 01:52:02.000000000 +0900 @@ -1,4 +1,5 @@ #!/usr/bin/perl +use IO::Handle; use Env qw (PATH LANG); use strict 'vars'; @@ -11,6 +12,13 @@ my $PKGLIST = "script/pkgs.list"; my @pack_method = ("none", "gzip", "bzip2", "compress"); my $podsec = "1"; +my @stdin; +my $pipeflag = 0; + +if ( -p STDIN ) { + $pipeflag = 1; + @stdin = STDIN->getlines; +} # # インストール情報 @@ -21,7 +29,7 @@ do{ $MANROOT = "/usr/man/$LANG"; print " Install directory [$MANROOT] ?: "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; if ($ans ne "") {$MANROOT = $ans;} print " compress manual with..\n"; @@ -29,19 +37,19 @@ print " $i: $pack_method[$i]\n"; } print " select [0..$#pack_method] : "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; if ($ans eq "") {$ans = 0;} if ($ans < 0 || $ans > $#pack_method) {$PACK = $pack_method[0]} else {$PACK = $pack_method[$ans]} $OWNER = "root"; print " uname of page owner [$OWNER] ?: "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; if ($ans ne "") {$OWNER = $ans;} $GROUP = "root"; print " group of page owner [$GROUP] ?: "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; if ($ans ne "") {$GROUP = $ans;} print "\n"; @@ -51,7 +59,7 @@ print "\n"; do { print "All OK? (Yes, [C]ontinue / No, [R]eselect) : "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; } until ($ans =~ /^[yYnNcCrR]/); } until ($ans =~ /^[yYcC]/); @@ -90,14 +98,14 @@ for $i (0 .. $#pl){ my $qstr = ($main::pw{$pl[$i]} > -1) ? "[Y/n]" : "[y/N]"; printf " [%2d/%2d] %-15s %s ?: ", $i, $#pl, $pl[$i], $qstr; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; if ($ans =~ /[Yy].*/) { $main::pw{$pl[$i]} = $i;} if ($ans =~ /[Nn].*/) { $main::pw{$pl[$i]} = -1;} } do { print "All OK? (Yes, [C]ontinue / No, [R]eselect) : "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; } until ($ans =~ /[yYnNcCrR].*/); } until ($ans =~ /^[yYcC]/); @@ -161,7 +169,7 @@ } print " Which to install? (0..$cf) : "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; if ($ans eq "") {$ans = 0}; if ($ans < 0 || $ans > $cf) { $ans = 0 }; @@ -176,7 +184,7 @@ do { print "All OK? (Yes, [C]ontinue / No, [R]eselect) : "; - $ans = ; chomp $ans; + $ans = &get_from_stdin; chomp $ans; } until ($ans =~ /^[yYnNcCrR]/); } until ($ans =~ /^[yYcC]/); @@ -229,3 +237,14 @@ ($af[2] <=> $bf[2]) || ($af[1] cmp $bf[1]); } +sub get_from_stdin { + my $retval; + + if ( $pipeflag ) { + $retval = shift (@stdin); + } else { + $retval = scalar (); + } + return $retval; +} +