Código:
#!/usr/bin/perl
use strict;
use warnings;
use prueb;
our $respuesta;
our @todo;
our @peti = qw(peticion tabla tablita tables);
print "-------- Mysql Consultas --------\n";
print "-------- Autor : M. ---------\n\n";
print "Inserte por orden y separados por espacio <NO ENTER> :\n *Nombre Host :\n *Nombre Base de datos :\n *Nombre Usuario :\n *Contrasena de Usuario :\n ";
my $opcion = <STDIN>;
chomp($opcion);
@todo = split(/\s+/, $opcion);
print "\n\n";
do {
print "1-Eliminar Tabla\n 2-Crear Tabla\n 3-Ver Listado Tablas\n 4-Ver Listado DB\n 5-Ver Registros Tabla
6-Salir\n";
print "Inserte su peticion\n";
$respuesta = <STDIN>;
chomp($respuesta);
if ($respuesta == 1) { eval $peti[1]->eliminar; }
elsif ($respuesta == 2) { eval $peti[2]->crear; }
elsif ($respuesta == 3) { eval $peti[3]->ver; }
elsif ($respuesta == 4) { eval $peti[3]->db; }
elsif ($respuesta == 5) { eval $peti[3]->registro; }
elsif ($respuesta == 6) { exit(1); };
} while (1);
exit(0);
Este es el modulito que lo acompana.
Código:
package prueb;
use strict;
use Mysql;
require "prueb.pl";
our $respuesta;
our @todo;
sub main {
my $conexión = Mysql->connect($todo[0], $todo[1], $todo[2], $todo[3]) or die "$!\n";
};
sub peticion::query {
& main();
main->selectdb($todo[1]);
main->query($respuesta) || die "$!\n";
};
sub tabla::eliminar {
print "Inserte el nombre de la tabla a Eliminar : ";
my $respuesta = <STDIN>; chomp($respuesta);
& main();
main->selectdb($todo[1]);
my $peticion = main->query("drop table if exists $respuesta;") || die "$!\n";
print STDOUT "Ejecuccion Realizada satisfactoriamente\n";
};
sub tablita::crear {
print "Inserte la sentencia SQL a ingresar\n";
my $respuesta = <STDIN>; chomp($respuesta);
do main;
main->selectdb($todo[1]);
my $peticion = main->query($respuesta) || die "$!\n";
print STDOUT "Ejecuccion Realizada satisfactoriamente\n";
};
sub tables::ver {
do main;
my @tablas = main->listtables;
print "Las tablas disponibles son @tablas\n";
};
sub tables::db {
& main();
my @datas = main->listdbs;
print "Las Base de datos disponibles en su esquema son : \n @datas\n";
};
sub tables::registro {
print "Inserte el nombre de la tabla\n";
my $respuesta = <STDIN>; chop $respuesta;
do main;
main->selectdb($todo[1]);
my $peticion = main->query("SELECT * FROM $respuesta;");
my @peti = $peticion->fetchrow();
print "Los datos de dicha tabla son \n @peti\n";
};
return 0;