es gibt ein problem mit dem type prefix im list kommando das zumindest bei manchen perl versionen dafür sorgt das der prefix nur für das erste gefundene device ausgewertet wird und bei allen nachfolgen überschrieben wird.
die ursache ist das in der schleife über alle parameter scheinbar nur eine ref ins array erzeugt wird und die spätere zuweisung an $n dann nicht nur $n ändert sondern auch direkt das arg array. ab dem zweiten schleifen durchlauf ist der prefix dann verschwunden.
das lässt sich z.b. dadurch verhindern das eine lokale kopie von $n angelegt wird.
Index: fhem.pl
===================================================================
--- fhem.pl (revision 11421)
+++ fhem.pl (working copy)
@@ -2147,6 +2147,9 @@
my $first = 1;
foreach my $n (@arg[1..@arg-1]) {
+ # in some? perl versions $n is only a ref to $arg[x]
+ # and is overwritten by $n = $2 below. so make a local copy first.
+ my $n = $n;
my $fType="";
if($n =~ m/^(.:)(.*$)/) {
$fType = $1;
Habs eingecheckt. Weisst du, welche perl-Version betroffen ist?
gestern ist es mir auf einem mac aufgefallen als ich den wiki eintrag für list ergänzt habe.
ich weiß nicht welche versionen es noch betrifft.