http://www.perlmonks.org?node_id=559977

This is a simple piece of Perl I wrote to see what percentage my laptop battery was. The die needs to be more descriptive and I also need to take out the hardcoded values for a full battery, but it gets the job done faster than cat and scanning.
#!/usr/bin/perl use warnings; use strict; use diagnostics; my $status; open (BATT, "/proc/acpi/battery/BAT0/state") || die("Can't Open: $!"); while (<BATT>) { if ($_ =~ /(charging state:)(\s+)(\w+)/ ) { $status = $3; } if ($_ =~ /(:)(\s+)(\d*)(\s+)(mAh)/ ) { print "\n"; my $perc = $3/2791; printf "The battery is %s", $status; print "\n"; printf "Battery percentage is: %.0f", $perc*100; print "\n-----------------------------\n\n"; } else { print "Incorrect Format"; } } close BATT;