Introducción
Hace poco eiial pregunto en el foro como podía sacar las dimensiones de unas imágenes.
Le respondí con un par de soluciones posibles, y pues navegando en el foro se me hizo que era un buen tema para el siguiente tutorial, así que aqui esta, vamos a ver como hacer para leer las dimensiones de nuestras imágenes.
Dame el tamaño
Lo primero que uno piensa como solución para esto es en el famoso módulo Image::Magick, pero el problema es que perl no lo trae por default y si no puedes instalar nuevos módulos estas en un problema, así que mejor vamos a usar un módulo básico pero que sirve perfecto para tomar dimensiones, y que debe de venir por default en todas las distribuciones de perl.
El módulo se llama Image::Size y el código para tomar las dimensiones es:
#!/usr/bin/perl -w
use strict;
use Image::Size;
#ruta absoluta a tu imagen, tambien puede ser relativa al directorio
my $img = "/ruta/absoluta/imagen.jpg";
my ($ancho, $alto) = imgsize($img);
#Imprimir dimensiones
print "Imagen: $img\n";
print "$ancho x $alto\n";
exit(1);
Ahora también puedes usar el módulo GD (que también tiene muchisimas funciones para editar imagenes) el cual usarías de esta manera:
#!/usr/bin/perl -w
use strict;
use GD;
my $img = "/ruta/a/imagen.jpg";
my $image = GD::Image->new($img)
my ($ancho,$alto) = $image->getBounds()
#Imprimir dimensiones
print "Imagen: $img\n";
print "$ancho x $alto\n";
exit(1);
Cualquiera de estas soluciones son muy factibles, pues usa módulos que vienen con la distribución normal de perl.