Re: Perl Script Needed Urgently.!!



From: "Anirban Adhikary" <anirban.adhikary@xxxxxxxxx>
my($a,$b);

Don't! Variables $a and $b are special. They are used in the
sort{block} and have a bit special scope and declaration rules. You'd
better not use them outside sort{}.

my $uidNumber=2631;
my $gidNumber=2631;
open(FH,"/home/anadhikary/perl/sourcefile");
open(FH1,">>/home/anadhikary/perl/destinationfile");
while(<FH>)
{
($a,$b)=split(/\s+/,$_);
print FH1 "\n";
print FH1 "dn: uid=$a,ou=student,dc=nits,dc=ac,dc=in\n";
print FH1 "uid: $a\n";
print FH1 "cn: $a\n";
print FH1 "objectClass: account\n";
print FH1 "objectClass: posixAccount\n";
print FH1 "objectClass: top\n";
print FH1 "objectClass: shadowAccount\n";
print FH1 "userPassword: {crypt}$b\n";
print FH1 "loginShell: /bin/bash/$a\n";
print FH1 "uidNumber: $uidNumber\n";
print FH1 "gidNumber: $gidNumber\n";
print FH1 "homeDirectory: /mnt/btech/$a\n";
print FH1 "shadowLastChange:13458\n";
print FH1 "shadowMin: 0\n";
print FH1 "shadowMax: 999999\n";
print FH1 "shadowWarning: 7\n";

This is better written as

print FH1 <<"*END*";

dn: uid=$a,ou=student,dc=nits,dc=ac,dc=in
uid: $a
cn: $a
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$b
loginShell: /bin/bash/$a
uidNumber: $uidNumber
gidNumber: $gidNumber
homeDirectory: /mnt/btech/$a
shadowLastChange:13458
shadowMin: 0
shadowMax: 999999
shadowWarning: 7
*END*

or

print FH1 qq{

dn: uid=$a,ou=student,dc=nits,dc=ac,dc=in
uid: $a
cn: $a
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$b
loginShell: /bin/bash/$a
uidNumber: $uidNumber
gidNumber: $gidNumber
homeDirectory: /mnt/btech/$a
shadowLastChange:13458
shadowMin: 0
shadowMax: 999999
shadowWarning: 7
};

String literals may span many lines in Perl, use that.

Jenda
===== Jenda@xxxxxxxxxxx === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery

.



Relevant Pages

  • Re: Openldap: ssh works, su does not
    ... Adding the shadowAccount class did let me to 'su' and to ... > posixAccount and objectClass: shadowAccount. ... > givenName: David ...
    (SunManagers)
  • LDAP distribution lists
    ... We've successfully gotten Outlook talking to our OpenLDAP server running on ... objectClass: organizationalUnit ... objectClass: shadowAccount ... postalAddress: 700 Thimble Shoals Blvd, ...
    (microsoft.public.outlook.interop)
  • LDAP distribution lists
    ... We've successfully gotten Outlook talking to our OpenLDAP server running on ... objectClass: organizationalUnit ... objectClass: shadowAccount ... postalAddress: 700 Thimble Shoals Blvd, ...
    (microsoft.public.outlook.contacts)
  • smbldap_search_suffix: Problem during the LDAP search: (No such object)
    ... cn: user06 user06 ... objectClass: posixAccount ... objectClass: shadowAccount ... ldap delete dn = No ...
    (de.comp.os.unix.networking.samba)
  • Re: OpenLDAP 2.2.25 and FreeBSD 5.3 - group names and gids
    ... > The problem is gid to group name mapping. ... I cannot have a group entry of the same. ... > gidNumber: 2001 ... objectClass: posixAccount ...
    (freebsd-questions)