package MCI::Error; use strict; use warnings; sub new { my ($class, $error) = @_; my $msg = ...mciGetErrorString...; return bless({ code => $error & 0xFFFF, driver_id => $error >> 16, msg => $msg, }, $class); } ... 1;