in reply to String matching question
You seem to be going through most of the requisite error-finding steps, but there are a couple of other things you might try to pin down the bug. First, turn on use strict and warnings (#!/usr/bin/perl -w) if you haven't already, which it seems. You'll have to declare all your variables, but you'll thank yourself in the long run. If that doesn't uncover anything, progressively simplify your code until it does work. For instance, explicitly put a numeric ID you know exists (i.e. because the script prints it from the print "$pro_logline\n" statement) in the regexp instead of /$transaction_id/. If that doesn't work, something wacky is going on. If it does (and it should), compare each $transaction_id you search for against the known ID. You should see at least one match there; if not, the ID is somehow being read incorrectly.