Startseite
Stellenmarkt
Downloads
Kontakt
  Community Center:   Forum  |  Gruppen  |  Chat  |

Zurück   Forum Fachinformatiker.de > Fachliches > Linux + Unix



Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29.10.2007, 14:43   #1
Reg.-Benutzer
 
Reg.-Datum: 29.10.2007
Standard Fehler im rekursiven Perl-Script

Morsche erstemal

Ich hab ein Perl-Script zum Auslesen einer LDAP-Struktur beliebiger Tiefe geschrieben.
Nun geht der bei mir aber nur den ersten Ast des baumes ab und hört dann auf. Der Baum hat aber 8 Äste, die eigentlich abgeklappert werden müssten.

Hier das Script:

Code:
#!/usr/bin/perl

use Net::LDAP;

$ldap = Net::LDAP->new( "xxx.xxx.xxx.xxx" );

$mesg = $ldap->bind;

search_and_fill();

sub search_and_fill {
my $neu = shift;

if( $neu eq 'undef' || $neu eq '')
{
$mesg = $ldap->search(
                        base => 'o=firma',
                        scope => 'one',
                        filter => "objectclass=organizationalUnit" && "objectclass=top",
                        attrs => ['1.1']);
}
else
{
$mesg = $ldap->search(
                        base => $neu,
                        scope => 'one',
                        filter => "objectclass=organizationalUnit" && "objectclass=top",
                        attrs => ['1.1']);
}
@entries = $mesg->entries;
foreach $entr ( @entries )
{
$dn = $entr->dn;
        if($dn =~ m/\bou=\b/i)
        {
        print "$dn\n";
                if( $dn eq 'undef' || $dn eq '')
                {
                return;
                }
                else
                {
                push( @baum, $dn);
                return search_and_fill($dn);
                }
        }                                       
}

};
$ldap->unbind();
Und hier das Ergebnis des Servers:

OU=erste OU,O=Firma
OU=erste UnterOU,OU=erste OU,O=Firma


Das ist also nur der erste Ast, genaue Bezeichnungen habe ich aus Datenschutzgründen rausgenommen.


Wäre froh, wenn mir da jemand weiterhelfen könnte, da ich keine Ahnung habe wo der Fehler liegt
Padde85 ist offline   Mit Zitat antworten
Alt 29.10.2007, 20:07   #2
Reg.-Benutzer
 
Benutzerbild von dr.disk
 
Reg.-Datum: 30.01.2002
Ort: Südwest Deutschland
Standard

Hab's nur mal schnell überflogen, müsste aber am "scope => 'one'," liegen. Damit gibst Du an, dass nur ein Element gesucht werden soll. Setzt das mal auf "sub", damit müsste es klappen.
__________________
Always remember that you are unique. Just like everyone else.

The light at the end of the tunnel may be an oncoming dragon.

Never touch a running system - Never run a touched system - Touching a never running system.
dr.disk ist offline   Mit Zitat antworten
Alt 30.10.2007, 09:48   #3
Reg.-Benutzer
 
Reg.-Datum: 29.10.2007
Standard

hab das mal probiert, aber dann gibt er gar nix mehr zurück. egal welches scope man auf sub setzt.
Padde85 ist offline   Mit Zitat antworten
Antwort

Tags: , ,


Lesezeichen
Zurück   Forum Fachinformatiker.de > Fachliches > Linux + Unix

Themen-Optionen
Ansicht


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
+++ PERL +++ Fehler beim erzeugen dynamischer HTML Seiten noguards Skript- und Webserverprogrammierung 0 14.12.2004 16:41
Problem mit Button der Perl Script anstossen soll dummabua Skript- und Webserverprogrammierung 1 17.11.2004 12:07
Perl FileUpload Script kills Skript- und Webserverprogrammierung 2 16.09.2004 14:44
CGI Problem - Script funzt per Web nicht given_to_fly Skript- und Webserverprogrammierung 5 20.07.2004 12:25
perl und die fehler conym18 Skript- und Webserverprogrammierung 1 29.12.2002 19:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:35 Uhr.