All images in my directory all start with a 6 digit number, right now the script displays all of the images in that directory and subdirectories.
How do I make my form pick up the requested image. Like if I type 012345, it should only display the images that start with the name 012345.
#find.pl
#!/usr/bin/perl -w
use CGI::Carp qw(fatalsToBrowser);
use strict;
use CGI qw/
standard)/;
use warnings;
use Cwd;
use File::Find::Rule;
my $q = new CGI;
my $imageDir = '/path/to/images/';
my $image;
my @files;
my $Num = qr/^\d{6,6}.+?/i;
my $imageNum = $q->param('imageNum');
chdir($imageDir) or die $!;
@files = File::Find::Rule->file
->name($Num)
->in($imageDir);
print $q->header();
foreach my $image (@files){
my $webimage = $image;
$webimage =~ s!/path/to/image/!!;
if($Num){
print <<HTML;
<ahref="$webimage">$webimage</a>
HTML
}
else{
print <<HTML;
sorry, cannot be found<br>
HTML
}
}
print <<HTML;
print <<HTML;
<form name="find" method="POST" action="find.pl">
<input type="text" size="10" name="imageNum" maxlength="30"><br>
<input type="submit" value="submit"><br>
</form>
HTML
print $q->end_html;
How do I make my form pick up the requested image. Like if I type 012345, it should only display the images that start with the name 012345.
#find.pl
#!/usr/bin/perl -w
use CGI::Carp qw(fatalsToBrowser);
use strict;
use CGI qw/
use warnings;
use Cwd;
use File::Find::Rule;
my $q = new CGI;
my $imageDir = '/path/to/images/';
my $image;
my @files;
my $Num = qr/^\d{6,6}.+?/i;
my $imageNum = $q->param('imageNum');
chdir($imageDir) or die $!;
@files = File::Find::Rule->file
->name($Num)
->in($imageDir);
print $q->header();
foreach my $image (@files){
my $webimage = $image;
$webimage =~ s!/path/to/image/!!;
if($Num){
print <<HTML;
<ahref="$webimage">$webimage</a>
HTML
}
else{
print <<HTML;
sorry, cannot be found<br>
HTML
}
}
print <<HTML;
print <<HTML;
<form name="find" method="POST" action="find.pl">
<input type="text" size="10" name="imageNum" maxlength="30"><br>
<input type="submit" value="submit"><br>
</form>
HTML
print $q->end_html;