Hallo Manfred,
Ich habe schon gelesen. Nicht jede Datei bekommt ihr eigenes Package, sondern jedes Modul bekommt im normal Fall sein eigenes package. Das ist keine pflicht, aber in der Perl Welt seit Jahren Gang und Gebe.
Ausserdem sagt man das ein Modul immer eine Datei ist. Also steht dem zu Folge dann am Ende doch wieder jede Datei bekommt ein package. Dein package package FHEM::Matrix; für die Datei lib/FHEM/Devices/Matrix/Matrix.pm past also nicht. Hier muss tatsächlich package FHEM::Devices::Matrix; hin