lois: browserversion ermitteln

Beitrag lesen

hi,

gibt es irgendeine standardmethode wie man die browserversion + betriebssystem ermitteln kann?
ist das format der $ENV{'HTTP_USER_AGENT'} überhaubt standardisiert?

ich hab im internet nur das gefunden:

# Browser & Version ermitteln
        for (@$line[9]) {
                $Browser =         /MSIE 2/i                && "Internet Explorer 2.x"
                        ||                /MSIE 3/i                && "Internet Explorer 3.x"
                        ||                /MSIE 4/i                && "Internet Explorer 4.x"
                        ||                /MSIE 5/i                && "Internet Explorer 5.x"
                        ||                /MSIE 6/i                && "Internet Explorer 6.x"
                        ||                /MSIE/i                        && "Internet Explorer x.x"
                        ||                /Netscape6/i        && "Netscape Navigator 6.x"
                        ||                /Mozilla/2/i        && "Netscape Navigator 2.x"
                        ||                /Mozilla/3/i        && "Netscape Navigator 3.x"
                        ||                /Mozilla/4/i        && "Netscape Navigator 4.x"
                        ||                /Mozilla/5/i        && "Netscape Navigator 6.x"
                        ||                /Netscape/i            && "Netscape Navigator x.x"
                        ||                                                   "unbekannt";
        }

# Betriebssystem & Version ermitteln
        for (@$line[9]) {
                $os =  /Mac/i               && "Macintosh"
                        || /Win(dows )?3/i      && "Windows 3.x"
                        || /Win(dows )?95/i     && "Windows 95"
                        || /Win(dows )?98/i     && "Windows 98"
                        || /Win(dows )?NT 3/i   && "Windows NT 3.x"
                        || /Win(dows )?NT 4/i   && "Windows NT 4.x"
                        || /Win(dows )?NT 5.0/i && "Windows 2000"
                        || /Win(dows )?NT 5.1/i && "Windows XP"
                        || /Win(dows )?NT/i     && "Windows NT x.x"
                        || /Linux/i             && "Linux"
                        || /HP-UX/i             && "HP-UX"
                        || /SunOS/i             && "SunOS"
                        ||                         "unbekannt";
        }

gibt es da keine allgemeine lösung?

lg, lois.