U
Unixer
Grünschnabel
Hallo liebe Gemeinde,
ich habe ein Problem bei der Erstellung meines Perl Scripts.
Ich habe folgende Ausgangsdatei:
Nun möchte ich den Hostnamen(members) eingeben und die dazugehörigen Gruppen(hostgroup_name) sollen mir ausgegeben werden. Zu beachten gibts noch das Gruppen auch Gruppen enthalten können.
Mein Ansatz:
Wäre dankbar um jeden Tipp oder Hinweis. (Ich selber glaube es liegt an den split-Suchausdruck. Leider weis ich es nicht besser...)
Viele Grüße,
ich habe ein Problem bei der Erstellung meines Perl Scripts.
Ich habe folgende Ausgangsdatei:
define hostgroup {
hostgroup_name DHCP_Server
alias DHCP Server
}
define hostgroup {
hostgroup_name LINUX_Server
alias Linux Server
members kongo.foo.com,testserv2.foo.com
hostgroup_members PING_Server,DHCP_Server
}
define hostgroup {
hostgroup_name PING_Server
alias Ping Server
}
define hostgroup {
hostgroup_name SOLARIS_Server
alias Solaris Server
members sol1.foo.com
}
define hostgroup {
}
hostgroup_name DHCP_Server
alias DHCP Server
}
define hostgroup {
hostgroup_name LINUX_Server
alias Linux Server
members kongo.foo.com,testserv2.foo.com
hostgroup_members PING_Server,DHCP_Server
}
define hostgroup {
hostgroup_name PING_Server
alias Ping Server
}
define hostgroup {
hostgroup_name SOLARIS_Server
alias Solaris Server
members sol1.foo.com
}
define hostgroup {
}
Nun möchte ich den Hostnamen(members) eingeben und die dazugehörigen Gruppen(hostgroup_name) sollen mir ausgegeben werden. Zu beachten gibts noch das Gruppen auch Gruppen enthalten können.
Mein Ansatz:
print "Bitte geben Sie den Hostnamen ein: ";
$client = <STDIN>;
chomp $client;
$hostgroups_cfg = "test";
open (HOSTGROUPS_CFG, "$hostgroups_cfg") || die "Die hostgroup.cfg Datei wurde nicht gefunden.\n";
@all_hostgroups = <HOSTGROUPS_CFG>;
foreach $hostgruppe (@all_hostgroups) {
($def_hostgroup_name, $hostgroup_name, $def_alias, $alias, $def_member, $member, $def_hostgroup_member, $hostgroup_member) = split (/^define\ hostgroup\ \{/, $hostgruppe);
print "der def_hostgroup_name ist : $def_hostgroup_name\n";
print "der hostgruppenname ist : $hostgroup_name\n";
print "der def_alias ist : $def_alias\n";
print "der alias ist : $alias\n";
}
close (HOSTGROUPS_CFG);
$client = <STDIN>;
chomp $client;
$hostgroups_cfg = "test";
open (HOSTGROUPS_CFG, "$hostgroups_cfg") || die "Die hostgroup.cfg Datei wurde nicht gefunden.\n";
@all_hostgroups = <HOSTGROUPS_CFG>;
foreach $hostgruppe (@all_hostgroups) {
($def_hostgroup_name, $hostgroup_name, $def_alias, $alias, $def_member, $member, $def_hostgroup_member, $hostgroup_member) = split (/^define\ hostgroup\ \{/, $hostgruppe);
print "der def_hostgroup_name ist : $def_hostgroup_name\n";
print "der hostgruppenname ist : $hostgroup_name\n";
print "der def_alias ist : $def_alias\n";
print "der alias ist : $alias\n";
}
close (HOSTGROUPS_CFG);
Wäre dankbar um jeden Tipp oder Hinweis. (Ich selber glaube es liegt an den split-Suchausdruck. Leider weis ich es nicht besser...)
Viele Grüße,