#!/usr/bin/perl -w
use
strict;
# This is public domain code. Do whatever you want with it.
# It was originally included in Clinton Wong's Apache 1.3.6 SHA1/ldif
# patch distribution as sample code for converting accounts from
# ldif format (as used by Netscape web servers) to Apache password format.
my
$uid
=
''
;
my
$passwd
=
''
;
while
(
my
$line
= <>) {
chomp
$line
;
if
(
$line
=~ /uid:\s*(.+)/) {
$uid
= $1 }
if
(
$line
=~ /userpassword:\s*(\{\w+\}.+)/) {
$passwd
= $1;
$passwd
=~ s/^\{
crypt
\}//i;
# Apache stores crypt without a magic string
}
if
(
length
(
$line
)==0) {
if
(
length
$uid
and
length
$passwd
) {
$uid
,
':'
,
$passwd
,
"\n"
;
}
# output if we have something to print
$uid
=
''
;
$passwd
=
''
;
}
# if newline
}
# while something to read
# handle last entry if there isn't a newline before EOF
if
(
length
$uid
and
length
$passwd
) {
$uid
,
':'
,
$passwd
,
"\n"
;
}