in reply to foreach interruption

There are a few things we can fix:

foreach my $ref ( @products ) { # Try using the standard regex delimiters (if you use # '()' then you must use a 'm' in front) if ($ref->{prodname} =~ /$value/ ) { # Use the good things about Perl! Heredocs are # easy to use and understand print <<PROD; <B>$ref->{prodname}</B><br> <IMG SRC="$ref->{img1}"><br> $ref->{prodprice}<br> <a href="shopper.exe?preadd=action;key=$ref->{prodcode}"> Add to Cart</a><br> <hr> PROD # Why don't we try to check the error returned and # see what file we were opening? my $textfile = $ref->{prodname}; eval { open (INF, $textfile) || die "Can't open file ($textfile): $!" }; if ( $@ ) { print "Found an error!\n$@\n"; } else { my @scoop = <INF>; close (INF); print "@scoop"; } } }

Tracing what you're actually trying to do is usually all the debugging you need :-)

Chris
M-x auto-bs-mode