<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.sachsen.schule/dwiki/index.php?action=history&amp;feed=atom&amp;title=Benutzer%3AKirmse%2Ffip03</id>
	<title>Benutzer:Kirmse/fip03 - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sachsen.schule/dwiki/index.php?action=history&amp;feed=atom&amp;title=Benutzer%3AKirmse%2Ffip03"/>
	<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;action=history"/>
	<updated>2026-05-05T20:59:44Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Delixs</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=649&amp;oldid=prev</id>
		<title>Schoffer: 6 Versionen</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=649&amp;oldid=prev"/>
		<updated>2008-03-04T21:08:32Z</updated>

		<summary type="html">&lt;p&gt;6 Versionen&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 4. März 2008, 23:08 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Schoffer</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=648&amp;oldid=prev</id>
		<title>Kirmse: neue Ablaufsteuerung, Hilfe</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=648&amp;oldid=prev"/>
		<updated>2005-10-27T07:00:04Z</updated>

		<summary type="html">&lt;p&gt;neue Ablaufsteuerung, Hilfe&lt;/p&gt;
&lt;a href=&quot;https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;amp;diff=648&amp;amp;oldid=647&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Kirmse</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=647&amp;oldid=prev</id>
		<title>Kirmse: Formatierung korrigiert</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=647&amp;oldid=prev"/>
		<updated>2005-10-25T20:30:50Z</updated>

		<summary type="html">&lt;p&gt;Formatierung korrigiert&lt;/p&gt;
&lt;a href=&quot;https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;amp;diff=647&amp;amp;oldid=646&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Kirmse</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=646&amp;oldid=prev</id>
		<title>Kirmse: leases- und dhcpd.conf kann übergeben werden</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=646&amp;oldid=prev"/>
		<updated>2005-10-25T20:20:55Z</updated>

		<summary type="html">&lt;p&gt;leases- und dhcpd.conf kann übergeben werden&lt;/p&gt;
&lt;a href=&quot;https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;amp;diff=646&amp;amp;oldid=645&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Kirmse</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=645&amp;oldid=prev</id>
		<title>Kirmse: Formatierung geändert</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=645&amp;oldid=prev"/>
		<updated>2005-10-25T12:02:45Z</updated>

		<summary type="html">&lt;p&gt;Formatierung geändert&lt;/p&gt;
&lt;a href=&quot;https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;amp;diff=645&amp;amp;oldid=644&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Kirmse</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=644&amp;oldid=prev</id>
		<title>Kirmse: Format versucht zu ändern - nicht ganz gelungen :(</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=644&amp;oldid=prev"/>
		<updated>2005-10-25T11:13:43Z</updated>

		<summary type="html">&lt;p&gt;Format versucht zu ändern - nicht ganz gelungen :(&lt;/p&gt;
&lt;a href=&quot;https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;amp;diff=644&amp;amp;oldid=643&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Kirmse</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=643&amp;oldid=prev</id>
		<title>Kirmse: Quelltext des Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:Kirmse/fip03&amp;diff=643&amp;oldid=prev"/>
		<updated>2005-10-25T08:11:35Z</updated>

		<summary type="html">&lt;p&gt;Quelltext des Tools&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Quelltext ===&lt;br /&gt;
&lt;br /&gt;
einfach mit der Maus runterkratzen :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#!/usr/bin/perl -w&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:use strict;                        &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Variablen -&amp;gt; deklariert sein&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:use Getopt::Long;                  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# fuer Kommandozeilenparameter&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------------------- Konfigurationsbereich ---------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# hier wird der Pfad zur Datei &amp;quot;dhcpd.leases&amp;quot; eingetragen. Diese&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Voreinstellung gilt für Arktur 4, wird aber ueber schrieben,&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wenn man mit Kommandozeilenparameter -f eine Datei uebergibt&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $leasedatei = &amp;quot;dhcpd.leases&amp;quot;;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# hier die Bildungsvorschrift fuer den Namen als Regex uebergeben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# diese Voreinstellung bedeutet, dass am Ende die Rechnernummer&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# erwartet wird und davor der Raumname. Hinweis: die erste Klammer&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# muss der Raumname sein&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $regex = &amp;#039;(.*\D)\d+&amp;#039;;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# hier wird die Standardbezeichnung für die Gruppierung festgelegt&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# dabei werden die Gruppierungen hochgezaehlt und an diesen Namen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# die Nummer standardmaessig als zweistellige Zahl angehangen.&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# die Stelligkeit muss durch eine nachgestellte Zahl hinter dem&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Doppelpunkt angegeben werden z.B. Raum:3 bedeutet Raum007&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# diese Standardbezeichnung kann durch eine Liste hinter dem&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Parameter -n oder -name ueberschrieben werden.&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $name   = &amp;#039;Raum:2&amp;#039;;&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------------------- Initialisierungsbereich -------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Deklaration der globalen Variablen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my @daten = ();                    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Element = Zeile von &amp;#039;computer&amp;#039;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my @temp1 = ();                    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Daten vom 1. File&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my @temp2 = ();                    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Daten vom 2. File&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $liste = &amp;quot;&amp;quot;;                    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# String mit temp.Gruppennamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $liste2 = &amp;quot;&amp;quot;;                   &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# String mit gener. Gruppennamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my %gruppen = ();                  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Gruppenname =&amp;gt; \@Gruppe&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $datei = &amp;quot;computer&amp;quot;;            &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Daten nicht ok, dann .= &amp;#039;.not_okay&amp;#039;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $startwerte = 20;               &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Initialisierung fuer IP&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Deklaration Variablen für Parameter, wenn kein Schalter: undef&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $namen;                         &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Namensliste als String (Komma)&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:my $reg;                           &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Regex fuer Bildungsvorschrift&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# =================== Hauptprogramm =============================&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 1. Schritt: Kommandozeilenparameter uebernehmen -------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# hier werden die Zuordnungen fuer die Parameter erstellt&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Bsp.: &amp;#039;conf&amp;#039; bedeutet Aufruf mit &amp;quot;-c dhcpd_alt.conf&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:GetOptions (                       &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Parameter fuer:&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  &amp;#039;namen=s&amp;#039;      =&amp;gt; \$namen,       &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Namensliste&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  &amp;#039;regex=s&amp;#039;      =&amp;gt; \$reg);        &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Regex&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wenn Regex uebergeben, dann wird Voreinstellung ueberschrieben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:if (defined($reg)) { $regex = $reg }&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 2. Schritt: Einlesen der Daten ------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir lesen die leases-Datei ein und geben die Daten zurueck&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:@daten   = &amp;amp;einlesen_leases($leasedatei);&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 3. Schritt: Vernichten von Doubletten -----------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# bei der dhcpd.leases ist es bei kurzer LEASE-Time normal,&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# dass fuer einen Rechner mehrere Eintraege (Doubletten) stehen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# sicherheitshalber vernichten wir in Bezug auf die MAC und Namen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:@daten   = &amp;amp;vernichte_Doubletten(@daten);&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 4. Schritt: Bestimmen der Gruppen ---------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# mit Hilfe der Regex versuchen wir die Gruppen zu bestimmen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# mit diesen (temporaeren) Namen ueberschreiben wir das 4. Feld&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:@daten   = &amp;amp;bestimme_Gruppen($regex,@daten);&lt;br /&gt;
:$liste   = &amp;amp;bestimme_Gruppenliste(@daten);&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 5. Schritt: Reihenfolge bestimmen ---------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# die Daten werden jetzt folgendermassen sortiert: die Gruppen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# werden entsprechend der Anzahl der PCs sortiert und innerhalb&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# der Gruppe alphabetisch nach dem Rechnernamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:($liste,@daten) = &amp;amp;sortieren($liste,@daten);&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 6. Schritt: Gruppennamem vergeben -------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# es wird in gleicher Reihenfolge der temp. Namen ein Name generiert&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:$liste2  = &amp;amp;generiere_Gruppennamen($name,$liste);&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# es wird das 4. Feld von @daten ueberschrieben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:@daten  = &amp;amp;setze_Gruppenname($liste,$liste2,$namen,@daten);&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 7. Schritt: IP vergeben -------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# es wird das 1. Feld @daten ueberschrieben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:@daten  = &amp;amp;setze_ip(@daten);&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# ------- 8. Schritt: Schreiben der Datei &amp;#039;computer&amp;#039; ------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&amp;amp;schreibe_datei($datei,@daten);&lt;br /&gt;
:&lt;br /&gt;
:print &amp;quot;\n&amp;quot;;&lt;br /&gt;
:&lt;br /&gt;
:unless (defined($namen)) {&lt;br /&gt;
:  print &amp;#039;Es wurden die Namen Raum01, Raum02, ... vergeben&amp;#039;.&amp;quot;\n&amp;quot;;&lt;br /&gt;
:  print &amp;#039;Als temporaere Namen wurden in dieser Reihenfolge ermittelt:&amp;#039;.&amp;quot;\n\n&amp;quot;;&lt;br /&gt;
:  print $liste.&amp;quot;\n&amp;quot;&lt;br /&gt;
:} else {&lt;br /&gt;
:  print &amp;quot;bin fertig! \n&amp;quot;&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# =================== Funktionen ================================&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: Liest die dhcpd.leases ein und erstellt eine Datenliste&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   @daten = &amp;amp;einlesen_leases($pfad);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    Pfad zur Datei dhcpd.leases&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   Liste von Strings: IP, Rechnername, MAC, Gruppe&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Bemerk.:  Es wird dieses File (siehe bei Input) eingelesen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Bemerk.:  die Gruppe ist einfach der String &amp;#039;Raum&amp;#039;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   24.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub einlesen_leases {&lt;br /&gt;
:  my $datei = shift;               &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Pfad zur lease-Datei&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:  my ($hostname, $mac, $ip, @daten, @temp);&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# die Datei einlesen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  open (DATEI,&amp;#039;&amp;lt;&amp;#039;.$datei) or die &amp;quot;die Datei wurde nicht gefunden&amp;quot;;&lt;br /&gt;
:  @daten = &amp;lt;DATEI&amp;gt;;&lt;br /&gt;
:  close DATEI;&lt;br /&gt;
:&lt;br /&gt;
:  foreach my $zeile (@daten) {&lt;br /&gt;
:    if ($zeile =~ /lease\s+(\d+\.\d+\.\d+\.\d+)/i) { $ip = $1 }&lt;br /&gt;
:    if ($zeile =~ /client-hostname\s*&amp;quot;?(\S*)&amp;quot;;?/i) { $hostname = $1 }&lt;br /&gt;
:    if ($zeile =~ /ethernet\s+(\w+:\w+:\w+:\w+:\w+:\w+)/) { $mac = $1 }&lt;br /&gt;
:    if ($zeile =~ /}/ and defined($ip)) {&lt;br /&gt;
:      &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# sichern die Werte in die Liste @pcs&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:      push @temp, $ip.&amp;#039;,&amp;#039;.$hostname.&amp;#039;,&amp;#039;.$mac.&amp;#039;,Raum&amp;#039;;&lt;br /&gt;
:      &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir initialisieren die Variablen neu&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:      $hostname = $mac = $ip = &amp;quot;&amp;quot;;&lt;br /&gt;
:    }&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  return @temp;&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: vernichtet die Doubletten bzgl. MAC und Name&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   @daten = &amp;amp;vernichte_Doubletten(@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   24.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub vernichte_Doubletten {&lt;br /&gt;
:  my @daten = @_;&lt;br /&gt;
:&lt;br /&gt;
:  my @temp = ();&lt;br /&gt;
:  my %h    = ();&lt;br /&gt;
:  my ($pc,$ip,$mac,$gruppe);&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# jeder Datensatz kommt in den Hash %h: $h{$mac} -&amp;gt; Datensatz&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $datensatz (@daten) {&lt;br /&gt;
:    ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:    $h{$mac} = $datensatz;&lt;br /&gt;
:  }&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# und dann wird daraus wieder eine Liste erstellt&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $ds (keys %h) {&lt;br /&gt;
:    push @temp, $h{$ds}&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# jeder Datensatz kommt in den Hash %h: $h{$pc} -&amp;gt; Datensatz&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  %h    = ();&lt;br /&gt;
:  foreach my $datensatz (@temp) {&lt;br /&gt;
:    ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:    $h{$pc} = $datensatz;&lt;br /&gt;
:  }&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# und dann wird daraus wieder eine Liste erstellt&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  @daten = ();&lt;br /&gt;
:  foreach my $rechner (keys %h) {&lt;br /&gt;
:    push @daten, $h{$rechner}&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  return @daten&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: Ermittelt temporaeren Gruppennamen, schreibt ins 4. Feld&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   @daten = &amp;amp;bestimme_Gruppen($regex,@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    Regex als Bildungsvorschrift fuer den Rechnernamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   24.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub bestimme_Gruppen&lt;br /&gt;
:{&lt;br /&gt;
:  my $regex = shift;               &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# die Regex uebergeben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  my @liste = @_;                  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# es wird @daten uebergeben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:  my ($pc,$ip,$mac,$gruppe,@temp);&lt;br /&gt;
:&lt;br /&gt;
:  foreach my $datensatz (@liste) {&lt;br /&gt;
:    ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:    if ($pc =~ /$regex/i) {        &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir suchen den Gruppenname&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:      $gruppe = $1&lt;br /&gt;
:    } else {&lt;br /&gt;
:      $gruppe = $pc                &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# sonst den ganzen Rechnername&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:    }&lt;br /&gt;
:    push @temp, $ip.&amp;#039;,&amp;#039;.$pc.&amp;#039;,&amp;#039;.$mac.&amp;#039;,&amp;#039;.$gruppe&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  return @temp&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: Ermittelt eine doublettenfreie Liste der Gruppennamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   @liste = &amp;amp;bestimme_Gruppenliste(@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   der String Gruppe1,Gruppe2,Gruppe3,Gruppe4,...&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   24.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub bestimme_Gruppenliste {&lt;br /&gt;
:  my @daten = @_;&lt;br /&gt;
:&lt;br /&gt;
:  my $liste = &amp;quot;&amp;quot;;&lt;br /&gt;
:  my ($pc,$ip,$mac,$gruppe,%h);&lt;br /&gt;
:&lt;br /&gt;
:  foreach my $datensatz (@daten) {&lt;br /&gt;
:    ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:    $h{$gruppe} = 1;               &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Gruppenname in den Hash&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  foreach my $x (keys %h) {&lt;br /&gt;
:    $liste .= $x.&amp;#039;,&amp;#039; ;&lt;br /&gt;
:  }&lt;br /&gt;
:  chop($liste);                    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# das letzte Komma weg&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:  return $liste&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: sortiert $liste und @daten (nach Anzahl der PCs)&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   ($liste,@daten) = &amp;amp;sortieren($liste,@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    der String Gruppe1,Gruppe2,Gruppe3,Gruppe4,...&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   der sortierte String Gruppe1,Gruppe2,Gruppe3,...&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   die sortierte Liste @daten &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   24.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub sortieren {&lt;br /&gt;
:  my $liste = shift;&lt;br /&gt;
:  my @daten = @_;&lt;br /&gt;
:&lt;br /&gt;
:  my ($pc,$ip,$mac,$gruppe);       &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# zum Zerlegen des Datensatzes&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  my (@gruppen,%h,%anz);           &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Gruppen, Hash auf DS und Anzahl&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  my (@tmp,@tmp2,@tmp3,%namen);&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# den String zerlegen, damit wir auf jede Gruppe zugreifen koennen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  @gruppen = split &amp;#039;,&amp;#039;, $liste;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir legen jetzt fuer jede Gruppe eine Liste an und erzeugen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# einen Hash %h mit $h{Gruppenname} -&amp;gt; Zeiger auf die Liste&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $gr (@gruppen) {&lt;br /&gt;
:    my @temp  = ();&lt;br /&gt;
:    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# fuer jeden Datensatz&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:    foreach my $datensatz (@daten) {&lt;br /&gt;
:      &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# zerlege den Datensatz und hole die Gruppe&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:      ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:      if ($gr eq $gruppe) { push @temp, $datensatz };&lt;br /&gt;
:    }&lt;br /&gt;
:    $h{$gr} = \@temp;&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir holen uns von jeder Gruppe die Anzahl und erzeugen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# einen Hash %anz mit $anz{Gruppenname} -&amp;gt; Anzahl&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $gr (@gruppen) {&lt;br /&gt;
:    my $ref = $h{$gr};&lt;br /&gt;
:    my $anz = @$ref;&lt;br /&gt;
:    $anz{$gr} = $anz&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# eine sortierte Liste der Gruppen erzeugen (groesste zuerst)&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  @gruppen = sort {$anz{$b} &amp;lt;=&amp;gt; $anz{$a} or lc($a) cmp lc($b)} keys %anz;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir basteln aus der Liste einen String, Trennzeichen Komma&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  $liste = &amp;quot;&amp;quot;;                     &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# initialisieren&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $element (@gruppen) {&lt;br /&gt;
:    $liste .= $element.&amp;#039;,&amp;#039;&lt;br /&gt;
:  }                                &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# das letzte Komma wieder weg&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  chop($liste);                    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# -&amp;gt; unser erster Rueckgabewert&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir sortieren jetzt jede Gruppe nach dem Rechnernamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  @tmp2 = ();&lt;br /&gt;
:  foreach my $gr (@gruppen) {&lt;br /&gt;
:    my $ref = $h{$gr};&lt;br /&gt;
:    @tmp = @$ref;&lt;br /&gt;
:&lt;br /&gt;
:    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# fuer jeden Datensatz dieser Gruppe&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:    %namen = ();&lt;br /&gt;
:    foreach my $datensatz (@tmp) {&lt;br /&gt;
:      &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# zerlege den Datensatz und hole den Rechnername und erzeuge&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:      &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# einen Hash %namen mit $namen{Rechnername} -&amp;gt; Datensatz&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:      ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:      $namen{$pc} = $datensatz;&lt;br /&gt;
:    }&lt;br /&gt;
:&lt;br /&gt;
:    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# fuer jeden Rechnernamen dieser Gruppe hole den Datensatz&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:    @tmp3 = ();&lt;br /&gt;
:    foreach my $pc (sort keys %namen) {&lt;br /&gt;
:       push @tmp3, $namen{$pc}&lt;br /&gt;
:    }&lt;br /&gt;
:&lt;br /&gt;
:    push @tmp2, @tmp3&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  return ($liste,@tmp2)&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: es wird der Gruppenname generiert (RaumXX)&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   $liste2  = &amp;amp;generiere_Gruppennamen($name,$liste);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    der String $name wird im Konfigurationsteil festgelegt&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die String $liste enthält die sortierten Gruppennamen&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   der String mit Raum01,Raum02,Raum03,...&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   25.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:$liste2  = &amp;amp;generiere_Gruppennamen($name,$liste);&lt;br /&gt;
:sub generiere_Gruppennamen {&lt;br /&gt;
:  my $name  = shift;&lt;br /&gt;
:  my $liste = shift;&lt;br /&gt;
:&lt;br /&gt;
:  my $liste2 = &amp;quot;&amp;quot;;&lt;br /&gt;
:  my @gruppe = ();&lt;br /&gt;
:  my $zaehler = 1;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir bauen den Formatstring&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  my ($temp,$anz) = split &amp;#039;:&amp;#039;, $name;&lt;br /&gt;
:  my $string  = &amp;#039;%0&amp;#039;.$anz.&amp;#039;u&amp;#039;;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# wir zerlegen den String $liste in eine echte Liste&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  @gruppe = split &amp;#039;,&amp;#039; , $liste;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# nun erzeugen wir die Namensliste&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $gruppe (@gruppe) {&lt;br /&gt;
:    $temp    = sprintf($string,$zaehler);&lt;br /&gt;
:    $liste2 .= &amp;#039;Raum&amp;#039;.$temp.&amp;#039;,&amp;#039;;&lt;br /&gt;
:    $zaehler++;&lt;br /&gt;
:  }&lt;br /&gt;
:  chop ($liste2);&lt;br /&gt;
:&lt;br /&gt;
:  return $liste2&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: # es wird das 4. Feld von @daten ueberschrieben&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   @daten  = &amp;amp;setze_Gruppenname($liste,$liste2,$namen,@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   25.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
:sub setze_Gruppenname {&lt;br /&gt;
:  my $liste  = shift;&lt;br /&gt;
:  my $liste2 = shift;&lt;br /&gt;
:  my $namen  = shift;&lt;br /&gt;
:  my @daten  = @_;&lt;br /&gt;
:&lt;br /&gt;
:  my ($ip,$pc,$mac,$gruppe);&lt;br /&gt;
:&lt;br /&gt;
:  my @neu    = ();&lt;br /&gt;
:  my %namen  = ();&lt;br /&gt;
:  my @neuername = ();&lt;br /&gt;
:  my @tempnamen = split &amp;#039;,&amp;#039;, $liste;&lt;br /&gt;
:  my @gen_name  = split &amp;#039;,&amp;#039;, $liste2;&lt;br /&gt;
:  if (defined($namen)) {&lt;br /&gt;
:    @neuername = split &amp;#039;,&amp;#039;, $namen&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  my $help1 = &amp;quot;&amp;quot;;&lt;br /&gt;
:  my $help2 = &amp;quot;&amp;quot;;&lt;br /&gt;
:&lt;br /&gt;
:  foreach my $name (@tempnamen) {&lt;br /&gt;
:    $help1 = shift @gen_name;&lt;br /&gt;
:    $help2 = shift @neuername;&lt;br /&gt;
:    if (defined($help2)) {&lt;br /&gt;
:      $namen{$name} = $help2&lt;br /&gt;
:    } else {&lt;br /&gt;
:      $namen{$name} = $help1&lt;br /&gt;
:    }&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  foreach my $datensatz (@daten) {&lt;br /&gt;
:    ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:    if (defined($namen{$gruppe})) {&lt;br /&gt;
:      $gruppe = $namen{$gruppe}&lt;br /&gt;
:    }&lt;br /&gt;
:    push @neu, $ip.&amp;#039;,&amp;#039;.$pc.&amp;#039;,&amp;#039;.$mac.&amp;#039;,&amp;#039;.$gruppe;&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  return @neu;&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: setzt die IP-Werte nach der Vorgabe im Wiki&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   @daten  = &amp;amp;setze_ip(@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   25.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub setze_ip {&lt;br /&gt;
:  my @daten = @_;&lt;br /&gt;
:&lt;br /&gt;
:  my $gr = &amp;quot;&amp;quot;;&lt;br /&gt;
:  my ($pc,$ip,$mac,$gruppe,@temp);&lt;br /&gt;
:&lt;br /&gt;
:  my $start1 = undef;&lt;br /&gt;
:  my $start2 = 21;&lt;br /&gt;
:&lt;br /&gt;
:  my $ip1 = $start1;&lt;br /&gt;
:  my $ip2 = $start2;&lt;br /&gt;
:&lt;br /&gt;
:  &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# fuer jeden Datensatz tue&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:  foreach my $datensatz (@daten) {&lt;br /&gt;
:    &amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# zerlege den Datensatz und hole die Gruppe&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:    ($ip,$pc,$mac,$gruppe) = split &amp;#039;,&amp;#039;, $datensatz;&lt;br /&gt;
:    if ($gr ne $gruppe) {&lt;br /&gt;
:      $gr = $gruppe;&lt;br /&gt;
:      unless (defined($ip1)) {&lt;br /&gt;
:        $ip1 = 0&lt;br /&gt;
:      } else {&lt;br /&gt;
:        $ip1++&lt;br /&gt;
:      }&lt;br /&gt;
:      $ip2 = $start2&lt;br /&gt;
:    } else {&lt;br /&gt;
:      $ip2++&lt;br /&gt;
:    }&lt;br /&gt;
:&lt;br /&gt;
:    push @temp, &amp;#039;192.168.&amp;#039;.$ip1.&amp;#039;.&amp;#039;.$ip2.&amp;#039;,&amp;#039;.$pc.&amp;#039;,&amp;#039;.$mac.&amp;#039;,&amp;#039;.$gruppe;&lt;br /&gt;
:  }&lt;br /&gt;
:&lt;br /&gt;
:  return @temp&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Funktion: schreibt die gesuchte Datei (normalerweise &amp;#039;computer&amp;#039;)&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Aufruf:   &amp;amp;schreibe_datei($datei,@daten);&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    Pfad zur zur schreibenden Datei&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Input:    die Liste @daten aus &amp;quot;IP,Rechnername,MAC,Gruppe&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Output:   die Datei &amp;#039;computer&amp;#039; auf die Festpaltte&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;# Update:   25.10.2005&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:&amp;lt;font color=&amp;quot;#C0C0C0&amp;quot;&amp;gt;&amp;lt;i&amp;gt;#--------------------------------------------------------------------&amp;lt;/i&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
:sub schreibe_datei {&lt;br /&gt;
:  my $datei = shift;&lt;br /&gt;
:  my @daten = @_;&lt;br /&gt;
:&lt;br /&gt;
:  open (DATEI, &amp;quot;&amp;gt;$datei.txt&amp;quot;) or die &amp;quot;konnte Datei $datei nicht oeffnen $!&amp;quot;;&lt;br /&gt;
:  foreach my $datensatz (@daten) {&lt;br /&gt;
:    print DATEI $datensatz.&amp;quot;\n&amp;quot;&lt;br /&gt;
:  }&lt;br /&gt;
:  close DATEI&lt;br /&gt;
:}&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Kirmse|Kirmse]] 10:11, 25. Okt 2005 (CEST)&lt;/div&gt;</summary>
		<author><name>Kirmse</name></author>
	</entry>
</feed>