quarta-feira, 24 de setembro de 2008

Atualização automatica bibliotecas perl

Para atualizar de forma 'parcialmente' automatica as bibliotecas do perl você pode usar a seguinte linha:

cpan -a | awk '{if (p==1) { t++; if ($2 != $3) {i++; print "===>>> INSTALANDO ",$1; system ("cpan -i "$1); } else if ($2 == $3) {u++;print "===>>> ",$1," UP"; } } if ($1=="Package") p=1; if ($0 ~ /^[[:space:]]/) p=0; } END {print "\nTotal:",t,"\nInstalados:",i,"\nNao Alterados",u,"\n";}'

sexta-feira, 19 de setembro de 2008

Verificar IP inicial da rede

Três funções em PHP simples que verificam se o IP passado eh um IP de inicio da rede ou não !
particularmente eu aconselho criar uma classe para trabalhar com isto !

function fill0($x){
return
str_pad($x,8,'0',STR_PAD_LEFT);
}
function
ip2bin($x){
preg_match_all("/[0-9]{1,3}/","$x",$a);
$b=array_map("decbin",$a[0]);
$c=array_map("fill0",$b);
return (
"$c[0]$c[1]$c[2]$c[3]");
}
function
checkNet($ip,$mask){
$b
=ip2bin($mask);
if (!
preg_match("/^1*0*$/",$b)) return "Mascara invalida";
$a=ip2bin($ip);
if ((
$a | $b) !== $b) return "Ip de rede invalido";
}

// Executando //
$x
=checkNet($a="128.0.0.0",$b="128.0.1.0");
echo (
$x?$x:"Rede Valida")."\n";

a função checkNet retorna string erro ou nada para tudo valido.