Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Utorok, 20. október 2026

Rozdiely pre scripts/ep/pwdhide/pwdhide.pl medzi verziami 1.1 a 1.2

verzia 1.1, 2002/03/13 13:02:58 verzia 1.2, 2002/06/24 18:18:08
Riadok 1 
Riadok 1 
 #!/usr/bin/perl  #!/usr/bin/perl -w
   use strict;
   
 #############################################################################  #############################################################################
 #                                                                           #  #                                                                           #
 #  pwdhide.pl                                                               #  #  pwdhide.pl                                                               #
 #                                                                           #  #                                                                           #
   #  Keyboard echo on terminal (TTY) screen switcher.                         #
 #  Prepina medzi pisanim/nepisanim klavesnice na obrazovku terminalu.       #  #  Prepina medzi pisanim/nepisanim klavesnice na obrazovku terminalu.       #
 #                                                                           #  #                                                                           #
 #                                                     Wolcano [13/03/2002]  #  #                                                     Wolcano [13/03/2002]  #
   #                                                       Nepto [24/06/2002]  #
 #                                                                           #  #                                                                           #
 #############################################################################  #############################################################################
   
 $STR1 = "Tvoje heslo:";  #
 $STR2 = "Password:";  # string constants
 #are we silenced?  #
 $SIL = 0;  my $STR1 = 'Zadaj vstupne heslo:';
   my $STR2 = 'Password:';
   
   #
   # output (1 or 0)
   #
   my $OUTPUT = 0;
   
   #
   # verbose (1 or 0)
   #
   my $VERBOSE = 1;
   
 #############################################################################  #############################################################################
   
 while (<STDIN>) {  #
         if ((($_ =~ /^$STR1.*/) || ($_ =~ /^$STR2.*/)) && (!$SIL)) {  # program name
                 $SIL = 1;  #
                 system("stty -echo");  my $PRG = __FILE__;
         }  
         elsif ($SIL) {  #
                 $SIL = 0;  # silenced flag
                 system("stty echo");  #
         }  my $SIL = 0;
   
   #
   # parent process ID (PID)
   #
   my $PPID = getppid();
   
   #
   # parent terminal (TTY)
   #
   my $TTY = `ps --no-headers -otty '$PPID'`;
   chomp $TTY;    # to remove ending newline
   
   #
   # command variables
   #
   my $CMD_BASE = "stty --file '/dev/$TTY'";
   
   #
   # do_stty() subroutine
   #
   sub do_stty
   {
       my $cmd;
       my $onoff;
   
       if ($SIL) {
           $onoff = 'on';
           $cmd   = "$CMD_BASE echo";
       } else {
           $onoff = 'off';
           $cmd   = "$CMD_BASE -echo";
       }
   
       system($cmd);
       print STDERR "$PRG: turning $onoff echo ($cmd)\n" if $VERBOSE;
   
       $SIL = !$SIL;
 }  }
   
   #
   # line variables
   #
   my $input_data;
   my $raw_line;
   my $line;
   
   #
   # System init
   #
   select(STDIN);  $| = 1;    # make unbuffered
   select(STDERR); $| = 1;    # make unbuffered
   select(STDOUT); $| = 1;    # make unbuffered
   
   print STDERR "$PRG: starting...\n" if $VERBOSE;
   
   #
   # main loop
   #
   while ( $input_data = <STDIN> ) {
       foreach $raw_line ( split ( /\n/, $input_data ) ) {
           $line = $raw_line;
           $line =~ s/^\s*//g;
           $line =~ s/\s*$//g;
           next if !length($line);
   
           if ( ( $SIL == 0 && ( $line =~ /^$STR1.*/ || $line =~ /^$STR2.*/ ) )
               || ( $SIL != 0 ) ) {
   
               do_stty();
           }
   
           #print '*******************'.$_."%%\n" if $OUTPUT;
           print STDOUT $raw_line if $OUTPUT;
       }
   }
   
   # restore input echo if it is turned off
   do_stty() if ($SIL);
   
   print STDERR "$PRG: terminating...\n" if $VERBOSE;
   

Legend:
Odstranené z verzie1.1  
zmenené riadky
  Pridané vo verzii1.2

Platon Group <platon@platon.sk> http://platon.sk/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok