#!/usr/bin/perl -w use strict; use warnings; my @language; my @name; my @path; my @description; my @included; my @ignored; my @included_end; my @ignored_end; # Profil-Datei einlesen my $rw = open(FILE,'E:\Eigene Dateien\Programme\Scrutator\profiles.xml'); my @array = ; ; # Zeilen bestimmen my $laenge = @array; # XML-Datei darf nur bestimmte Länge haben if(($laenge - 2) % 9 == 0) { # Einleitungszeile - Profil und Sprache for(my $i = 2;$i < $laenge;$i += 9) { # Unnötiges abschneiden my $langstring = substr($array[$i],8); # Prüfen, ob Sprachattribut vorhanden ist if($langstring =~ /language/) { # Sprache ermitteln my $kurzlangstring = substr($langstring,10); for(my $j = 0;$j < 3;$j++) { chop($kurzlangstring); } my $length = @language; $language[$length] = $kurzlangstring; } else { my $length = @language; $language[$length] = "none"; } } # Zweite Zeile - Profilname for(my $i = 3;$i < $laenge;$i += 9) { # Unnötiges abschneiden my $langstring = substr($array[$i],8); # Name ermitteln for(my $j = 0;$j < 8;$j++) { chop($langstring); } my $length = @name; $name[$length] = $langstring; } # Dritte Zeile - Icon-Pfad for(my $i = 4;$i < $laenge;$i += 9) { # Unnötiges abschneiden my $langstring = substr($array[$i],10); # Pfad ermitteln for(my $j = 0;$j < 10;$j++) { chop($langstring); } my $length = @path; $path[$length] = $langstring; } # Vierte Zeile - Beschreibung for(my $i = 5;$i < $laenge;$i += 9) { # Unnötiges abschneiden my $langstring = substr($array[$i],15); # Beschreibung ermitteln for(my $j = 0;$j < 15;$j++) { chop($langstring); } my $length = @description; $description[$length] = $langstring; } # Fünfte bis achte Zeile - Optionen for(my $i = 6;$i < $laenge;$i += 9) { # Optionen-Tag überprüfen my $options = $array[$i]; if($options =~ /options/) { for(my $g = 7;$i < $laenge;$i += 9) { # Unnötiges abschneiden my $langstring = substr($array[$g],14); for(my $j = 0;$j < 12;$j++) { chop($langstring); } my $length = @included; $included[$length] = $langstring; } for(my $h = 8;$h < $laenge;$h += 9) { # Unnötiges Abschneiden my $langstring = substr($array[$h],13); for(my $j = 0;$j < 11;$j++) { chop($langstring); } my $length = @ignored; $ignored[$length] = $langstring; } } } } else { my $fehler = "Ungültige oder fehlerhafte Profildatei!"; } my $length = @included; my $length2 = @ignored; for(my $i = 0;$i < $length;$i++) { if($included[$i] =~ /,/) { my @splitted = split(/,/,$included[$i]); my $splitlaenge = @splitted; for(my $k = 0;$k < $splitlaenge;$k++) { $included_end[$k] = $splitted[$k]; } } else { for(my $i = 0;$i < $length;$i++) { $included_end[$i] = $included[$i]; } } } for(my $i = 0;$i < $length2;$i++) { if($ignored[$i] =~ /,/) { my @splitted = split(/,/,$ignored[$i]); my $splitlaenge = @splitted; for(my $k = 0;$k < $splitlaenge;$k++) { $ignored_end[$k] = $splitted[$k]; } } else { for(my $i = 0;$i < $length2;$i++) { $ignored_end[$i] = $ignored[$i]; } } }