Advertisement
Guest User

Untitled

a guest
Jun 18th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.66 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. my ($first, $middle, $last, $office, $phone, $department, @line, $fullname, $username, $gecos, $homedir);
  7. my $password = "\$1\$TuPOd4ry\$joEsOwywtiyhb3wjAPOT60";
  8.  
  9. scalar(@ARGV) == 1 or die("No file specified, usage: perl lab4.pl file\n");
  10. open(FILE, "< $ARGV[0]") or die("File open error!\n");
  11.  
  12.  
  13. while(<FILE>) {
  14.  
  15.     chomp($_);
  16.     $_ =~ s/\"||\,//g;
  17.     @line = split("\t+",$_);
  18.    
  19.     #Format Full Name
  20.     my @name = split(/\s/, $line[0]);
  21.    
  22.     for(my $i=0; $i < scalar(@name); $i++) {
  23.    
  24.         # if $i is 0, format last name
  25.         # if $i is 1, format first name
  26.         # if $i is 2, format middle name
  27.         if($i == 0) {
  28.        
  29.             $last = $name[$i];
  30.             $last = ucfirst lc $last;
  31.        
  32.         } elsif($i == 1) {
  33.        
  34.             $first = ucfirst lc $name[$i];
  35.        
  36.         } elsif($i == 2) {
  37.        
  38.             $middle = $name[$i];
  39.             $middle = ucfirst lc $middle;
  40.            
  41.             if(length($middle) == 1) {
  42.            
  43.                 $middle = $middle . ".";
  44.             }
  45.        
  46.         }
  47.    
  48.     }
  49.    
  50.     if(length($middle) > 0) {
  51.    
  52.         $fullname = $first . " " . $middle . " " . $last;
  53.         $username = substr($first,0,1) . substr($middle,0,1) . substr($last,0,1);
  54.        
  55.     } else {
  56.    
  57.         $fullname = $first . " " . $last;
  58.         $username = substr($first,0,1) . 'x' . substr($last,0,1);
  59.    
  60.     }
  61.    
  62.     #End Format Full name
  63.    
  64.     #Get Location, extension, department
  65.     $office = $line[1];
  66.     $phone = $line[2];
  67.     $department = $line[3];    
  68.     #End Get
  69.    
  70.     $username =  lc $username . substr($department,0,3);
  71.    
  72.     $gecos = $fullname . ',' . $office . ',' . $phone . ',' . $department;
  73.    
  74.     $homedir = "/home/". lc $department;
  75.    
  76.     $middle = "";
  77.    
  78.     system("useradd -c \"$gecos\" -d $homedir -G $department $username ");
  79. }
  80.  
  81. close(FILE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement