Willkommen bei Programmer Karl

Schön, dass sie mal reinschauen.

Bevor ich mich vorstelle, hier mal eine kleine Kostprobe meiner Programmierkunst.
Es handelt sich dabei um ein Perl-Script.

Oder schauen sie mal ans Ende des Scripts.

#!/usr/bin/perl
# Ausgabe der Windows-Umgebungsvariablen
# Die Umgebugsvariablen befinden sich im vordefinierten Perl-Hash %ENV
# Programmer: 	Karl
# Created:	28.03.2007
#
# Update-History:
# 29.03.2007	- Comments included


# Start Code
until ($eingabe =~ /^n/i)			# Schleife zur wiederholten Abarbeitung
						# Ende mit n oder N
{
print "\n\nGefudene Umbebungsvariablen:\n\n";
$i =0;						# Index-Zähler auf 0
while (($key, $value) = each %ENV)		# Lesen aller Werte aus dem Hash
	{
	print "$i:\t  $key \n";			# Ausgabe: Index : Key von %ENV
	$env_array_value[$i] = $value;		# übernehmen der Werte in ein Array
	$env_array_key[$i] = $key;		# übernehmen der Keys in ein Array
	$i++;
	}
$anzahl = keys %ENV;				# Ermittlung der Anzahl von Wertepaaren

print "\nIm System wurden $anzahl Umgebungsvariablen gefunden";

# So kann man mit einer foreach-Schleife die Werte des hash verarbeiten
# Macht das Gleiche wie die while-Schleife siehe oben.
#foreach $key (keys(%ENV))
# {
#	print "$i:\t  $key \n";
#	$env_array_value[$i] = $ENV{$key};	# übernehmen der Werte in ein Array
#	$env_array_key[$i] = $key;
#	$i++;
#}

print "\nVon welcher moechtest Du den Wert sehen? ";
 $key = <STDIN>;			# Einlesen von Index(Zahl) oder key(string)
 chomp $key;

if ($key =~ /\d/)		# Wenn Zahl eingegeben, dann Werte aus dem Array holen
	{
	if ($key <= $i)		# ist ein existierender Index eingegeben worden ?
			{
			if ($env_array_value[$key] =~ /;/)  # Ist der Wert ein String, der
												# mehrere Elemente, getrennt durch
												# ";" enthält ?
				{
				@path = split(/;/, $env_array_value[$key]); # Auftrennen des Strings
															# und Schreiben in Array

				print "\n$env_array_key[$key] :\n";		# Ausgabe Key-name
				foreach $epath (@path)
					{
					print "\t$epath\n";					# Ausgabe Werte aus Array
					}									# untereinander
				}
			else		# Wert enthält keine Einzelelemente duch ";" getrennt
				{		# Ausgabe Key: Wert
				print "\n$env_array_key[$key] :\t $env_array_value[$key] \n\n";
				}
			}
	else 				# der Index existiert nicht !!!
	{
	print "Dieser Key existiert nicht. (Falsche Eingabe?)"; }
	}
else	# Wenn Key-Name eingegeben, dann Werte aus %ENV holen
	{
	if (exists $ENV{$key}) 		# Wenn der key existiert
			{$key= uc($key);
			if ($ENV{$key} =~ /;/)		# Ist der Wert ein String, der
							# mehrere Elemente, getrennt durch
							# ";" enthält ?
				{
				@path = split(/;/, $ENV{$key}); 	# Auftrennen des Strings
													# und Schreiben in Array

				print "\n$key :\n";		# Ausgabe Key-name
				foreach $epath (@path)
					{
					print "\t$epath\n";	# Ausgabe Werte aus Array
					}								# untereinander
				}
			else				# Wert enthält keine Einzelelemente duch ";" getrennt
				{			# Ausgabe Key: Wert
				print  "\n$key :\t $ENV{$key} \n\n";
				}
			}
	else						# Wenn der key nicht existiert
	{
	print "Dieser Key existiert nicht. (Vertipt?)"; }
	}
print "\nNochmal? [Y]/N";		# Abfrage für aeußere Schleife
$eingabe = <STDIN>;			# Eingabe n oder N beendet
chomp $eingabe;
}
print "\n\nProgrammende";

Wenn sie mehr über Perl erfahren möchten, dann clicken sie bitte hier.

Zurück zur Startseite