Hello,
I have made on perl script(attached) which do ldapsearch.
When I run that script through perl command it works,but when I called
it through some programme to view it in browser it never works.My OS
Win-2000.Any Thing I am missing as some environmental variable or
something..
Best Regards,
Chandraknt
#!/usr/local/bin/perl
# # $Header: email_imap_config.pl 30-jul-2003.18:34:00 cpolinsk Exp $
#
# email_imap_config.pl
# # Copyright (c) 2003, Oracle Corporation. All rights reserved. #
#NAME
# email_imap_config.pl - one-line expansion of the name
#
#DESCRIPTION
# Script reads email config data from oid
#
#NOTES
# other useful comments, qualifications, etc.
#
#MODIFIED (MM/DD/YY)
#
use strict;
require emd_common.pl;
my $OSNAME = $^O;
my $Second = ;
my $Minute = ;
my $Hour = ;
my $Day = ;
my $Month = ;
my $Year= ;
my $WeekDay = ;
my $DayOfYear = ;
($Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear) = localtime(time);
my $RealMonth = $Month + 1;
if($RealMonth 10)
{
$RealMonth = 0 . $RealMonth; # add a leading zero to one-digit months
}
if($Day 10)
{
$Day = 0 . $Day; # add a leading zero to one-digit days
}
if($Second 10)
{
$Second = 0 . $Second; # add a leading zero to one-digit days
}
if($Minute 10)
{
$Minute = 0 . $Minute; # add a leading zero to one-digit days
}
if($Hour 10)
{
$Hour = 0 . $Hour; # add a leading zero to one-digit days
}
my $Fixed_Year = $Year + 1900;
my $FormatedTime = $Fixed_Year-$RealMonth-$Day $Hour:$Minute:$Second;
my $ldap_oh=;
EMAGENT_PERL_DEBUG($ARGV[0] :: $ARGV[0]);
if( ($OSNAME eq MSWin32) or ($OSNAME eq Windows_NT) )
{
#$ldap_oh = $ARGV[0]\\bin\\ldapsearch;
$ldap_oh = C:\\oracle_as\\bin\\ldapsearch;
}
else
{
#$ldap_oh = $ARGV[0]/bin/ldapsearch;
$ldap_oh = C:/oracle_as/bin/ldapsearch;
}
### ldap parameters
my $ldap_host=umsvr2-sun.us.oracle.com;
my $ldap_port=3060;
my $ldap_username=cn=orcladmin;
my $ldap_password=welcome1;
my $target_type = oracle_ovf;
my $config_name = orclmailprocloglevel;
my $target = ;
my $output=;
## Do an ldap search first looking at the target level for the data
EMAGENT_PERL_DEBUG(ldap_oh :: $ldap_oh);
$output = `$ldap_oh -h \$ldap_host\ -p $ldap_port -D \$ldap_username\ -w
$ldap_password -b
\cn=ovf,cn=OraVmail,cn=umdev04.us.oracle.com,cn=Computers,cn=OracleContext\ cn=ovf
orclmailprocloglevel`;
print$output;
EMAGENT_PERL_DEBUG(output :: $output);
## Parse the result string and retrieve just the value
my $ldapValue = getLdapValue($output);
##$ldapValue=NOTIFICATION;
## Return the parsed result
print em_result=$ldapValue|$FormatedTime\n;
###
# getLdapValue
# # Takes an ldap search output string and strips the param name and '='
# from the string to retrieve only the attribute value.
###
sub getLdapValue
{
my $attr_value = ;
my $ldap_output = shift(@_);
EMAGENT_PERL_DEBUG(ldap_output :: $ldap_output);
my @lines = split(\n, $ldap_output);
if($#lines 0)
{
my $attr_line = @lines[1];
my @attr = split(=, $attr_line);
$attr_value = @attr[1];
}
return $attr_value;
}