Jörk: Reguläre Ausdrücke - Ich bin am verzweifeln

Beitrag lesen

Aber wie gesagt, viel sinnvoller (und schneller) waere hier

if($str1 eq $str2) {
  print "stimmt ueberein";
}
else {
  print "stimmt nicht ueberein";
}

ob das script langsamt ist oder nicht ist mir eigentlich ziemlich egal, weil es nur für die aufteilung von kategorien einmal von mir verwendet wird, also es kommt nicht ins internet.

Ich habe mich falsch ausgedrückt. hier noch mal alles genauer.

also das sind meine kategorien:

CD_Brenner & CDRW_Rekorder    <-------Diese muss weg, weil es noch unterkategorien gibt
CD_Brenner & CDRW_Rekorder:Philips
CD_Brenner & CDRW_Rekorder:Pioneer

CD_Player    <-------Diese muss weg, weil es noch unterkategorien gibt
CD_Player:SACD_Player
CD_Player:Denon

DJ_Equipment:Nadeln & Systeme    <-------Diese muss weg, weil es noch unterkategorien gibt
DJ_Equipment:Nadeln & Systeme:Pickering
DJ_Equipment:Nadeln & Systeme:Stanton    <------- DIESE soll NICHT weg, wird aber auch weggemacht.
DJ_Equipment:Nadeln & Systeme:Sonstige

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";

my @cat = ("CD_Brenner & CDRW_Rekorder","CD_Brenner & CDRW_Rekorder:Philips","CD_Brenner & CDRW_Rekorder:Pioneer","CD_Player","CD_Player:SACD_Player","CD_Player:Denon","DJ_Equipment:Nadeln & Systeme","DJ_Equipment:Nadeln & Systeme:Pickering","DJ_Equipment:Nadeln & Systeme:Stanton","DJ_Equipment:Nadeln & Systeme:Sonstige"," ");

my $anzahl = @cat;

$anzahl -= 2;

for(my $i = 0; $i <= $anzahl; $i++) {

my $q = $i + 1;

if($cat[$i] !~ /[^$cat[$q]]/) { ## kategorie wird mit der nächsten
                                ## kategorie verglichen.
print "$cat[$i] ------------ Kategories muss weg.<br>";
} else {
print "$cat[$i]<br>";
}
}