#!/usr/bin/perl
#  *************************************************************************
#  *                                                                       *
#  * Copyright (C) 2009 Dmitry E. Oboukhov <unera@debian.org>              *
#  *                                                                       *
#  * This program is free software: you can redistribute it and/or modify  *
#  * it under the terms of the GNU General Public License as published by  *
#  * the Free Software Foundation, either version 3 of the License, or     *
#  * (at your option) any later version.                                   *
#  *                                                                       *
#  * This program is distributed in the hope that it will be useful,       *
#  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
#  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
#  * GNU General Public License for more details.                          *
#  *                                                                       *
#  * You should have received a copy of the GNU General Public License     *
#  * along with this program.  If not, see <http://www.gnu.org/licenses/>. *
#  *                                                                       *
#  *************************************************************************

use warnings;
use strict;

my $acpi;

die "Can not start acpi: $!\n" unless open $acpi, '-|', 'acpi', '-b', '-a';

my @acpi = <$acpi>;

my @battery =
    grep { defined $_ and /^\d+$/ }
    map { s/^.*\s+(\d+)%.*/$1/; $_ }
    grep /Battery\s+\d+:/, @acpi;

die "Can not get battery level\n" unless @battery;

my $battery = 0;
$battery += $_ for @battery;
$battery /= @battery;

my $ac = grep /Adapter.*on-line/, @acpi;

printf "battery=%d\nac_line=%s\n", 
    $battery, $ac?"on":"off";
