#!/usr/bin/perl use strict; use warnings; use Digest::SHA qw(sha1_hex); # Desactiva el buffering de salida para que Apache pueda obtener la respuesta inmediatamente $| = 1; while () { chomp; my $input = $_; $input =~ /^\/image\/(.*)\/([a-z0-9-_]+)\.(png)$/; my $collection = $1; my $name = $2; my $extension = $3; my $sha1 = sha1_hex($name); my $first = substr($sha1, 0, 2); my $last = substr($sha1, 1, 2); my $newPath = "images/$collection/$first/$last/$name.$extension"; if (-e "/usr/local/apache2/htdocs/$newPath") { print "/$newPath\n"; } else { print "/$input\n"; } }