Sí necu, la lógica está bien. Sólo recuerda que para este link:
http://localhost/index.php?accion=perro
deberías (por el tema del register globals) recoger la variable así:
Código PHP:
if($_GET['accion']=="perro"){
echo "hola";
}
Claro que hay varias formas de ordenar las cosas según lo que quieras (utilizar switch($_GET['accion']){...}, por ejemplo).. pero la lógica que empleas está bien.
Saludos