use########## DirHandle;##### $bd="/proc/a".# "cpi/battery";print map{# /\D+(\d+)$/x&&($d=$1+1);### open(I,"$_/info");%i=map### {/^(.+?):\s+(.+)$/x&&($1,## $2)};open(S,"$_/state"## );%s=map{/^(.+?):\s+(.+)$## /x&&($1,$2)};$s{"rem".## "aining capacity"}=~/^(\d## +)/x&&($r=$1);$i{"last f".# "ull capacity"}=~/^(\d+)/x# &&($c=$1);$s=100*($r/$c);## $i=($s{"charging state"}=~# /^d/x)?"-":"+";sprintf(#### "%d: %.2f%%%s\n",$d,$s,$i)# ;}grep{-d}map{"$bd/$_"}#### grep{!/^\./}DirHandle->new# ($bd)->read();########### ######################