QuoteKannst Du bitte das Problem mal soweit reduzieren, dass Du ein lauffähiges kurzes Skript hast, aber der Fehler noch auftritt? Dann können wir das besser nachvollziehen und testen.
oha ;-)
das wird wohl unmöglich sein, weil das was ich mache fast schon eine richtig umfangreiche windows application ist, bestehend aus:
- mainScript mit Tk;
- package zum auslesen der daten aus dem spiel (das spiel muss installiert sein).
- eine ProfileClasse
- eine ModClasse
...und das alles ist schön ineinander verflächtet, also ich wüsste nicht wie.
also @strSelectedMods sieht so aus (ausgabe mit dem datadumper):
$VAR1 = [
'{"CSM by Gunslinger ### 1.3"}',
'{"German_Soldiers_Mod_2.2 ### "}',
'{"Storm over Europe ### 1.2.0.0"}'
];
und @objModList sieht so aus (@objModList ist ein Objekt-Container):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$VAR1 = [
bless( {
'version' => '1.3',
'desc' => 'Feel the cinematic Soundtrack of a movie.\\nThe Red Army, the UK/US Army and the Wehrmacht\\nwill speak their native languages.\\nOver 200 additional modified soundeffects!',
'name' => 'CSM by Gunslinger'
}, 'showMod' ),
bless( {
'version' => '',
'desc' => 'Made by GS_Wünsche\\Thanks to \\nGS_v.Oppeln-Bronikowski,GS_Guderian\\GS_Niemack\\Rancid+Slash nwww.germansoldiers.com',
'name' => 'German_Soldiers_Mod_2.2'
}, 'showMod' ),
bless( {
'version' => '1.2.0.0',
'desc' => 'Singleplayer & Multiplayer Mod\\n\\nwww.soe.gamehunt.de\\n\\nHave fun! Copyright(c) by CTK \'Instinct\'',
'name' => 'Storm over Europe'
}, 'showMod' )
];
die methode, die die signatur des mods aus dem objekt zurückliefert sieht so aus:
sub getModSig
{
my $obj = shift;
return "\{\"" . $obj->{"name"} . " ### " . $obj->{"version"} . "\"\}";
}
QuoteVerwendest Du in Deinem Skript use strict; und use warnings;?
grundsätzlich verwende ich "use strict;".
"use warnings;" nutze ich zwar nciht, aber das ist doch quasi das gleiche wie wenn man den perl-interpreter mit dem parameter "perl -w" startet, was ich tuehe?
Quotene ist die abkürzung für "not equal" und das string-equivalent zu !=
print "foo" ne "foo"; # gibt nichts aus (false) da foo gleich foo ist
print "foo" ne "bar"; # gibt 1 (true) aus da foo nicht gleich bar ist
genau das hätt ich gerne :-D
EDIT: übrigens benutze ich ActivePerl in der aktuellsten version mit WindowsXPproSP2.