| 2161 | | return unless open(local *DMIDECODE, |
| 2162 | | "dmidecode --version 2>/dev/null |"); |
| 2163 | | my $version = <DMIDECODE>; |
| 2164 | | close(DMIDECODE); |
| 2165 | | return unless defined $version; |
| 2166 | | |
| 2167 | | # We need at least version 2.7 |
| 2168 | | chomp $version; |
| 2169 | | return unless $version =~ m/^(\d+).(\d+)$/; |
| 2170 | | return unless (($1 == 2 && $2 >= 7) || $1 > 2); |
| | 2161 | my $version; |
| | 2162 | if (open(local *DMIDECODE, "dmidecode --version 2>/dev/null |")) { |
| | 2163 | $version = <DMIDECODE>; |
| | 2164 | close(DMIDECODE); |
| | 2165 | chomp $version if defined $version; |
| | 2166 | } |
| | 2167 | |
| | 2168 | if (!defined $version |
| | 2169 | || !($version =~ m/^(\d+).(\d+)$/) |
| | 2170 | || !(($1 == 2 && $2 >= 7) || $1 > 2)) { |
| | 2171 | print "# DMI data unavailable, please consider installing dmidecode 2.7\n". |
| | 2172 | "# or later for better results.\n"; |
| | 2173 | return; |
| | 2174 | } |