On Wed, Jul 20, 2011 at 7:24 PM, Overkill <overk...@sadiqs.net> wrote:

> Greetings,
>
> I'm trying to increment the UID field of the unix password file from an csv
> file.  I've tried to insert C style increment and it keeps bomping out.
>  What would be the logic to increment the 5009 to increment by one?  Thanks
> for any help.
>
> -Overkill
>
> #!/usr/bin/perl
>
> #use strict;
> #use warnings;
>
>   while (<DATA>) {
>   chomp;
>    ($first, $last, $username) = split(",");
>      print "$username:x:5009:4001:$first $last:/home/$username:/bin/**
> false\n";
>      }
>  exit;
>
> __DATA__
> "Bob","Ahrary","bahrary"
> "Jill","Anderson","janderson"
>
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
> #!/usr/bin/perl

use strict;
use warnings;

my $userid = 5009;
  while (<DATA>) {
  chomp;
   ($first, $last, $username) = split(",");
     print "$username:x:$userid:4001:$first $last:/home/$username:/bin/**
false\n";
     $userid++;
     }
 exit;

__DATA__
"Bob","Ahrary","bahrary"
"Jill","Anderson","janderson"

That should do the trick... you could go for a: print "$username:x:" .
$userid++ . ":4001:$first $last:/home/$username:/bin/**false\n"; as well if
you like to keep it shorter. or change $userid++; to $userid +1; or even
$userid = $userid +1; depending on your personal preference. The result is
adding 1 to the $userid variable which is what you are looking to do :-)

Regards,

Rob

Reply via email to