#!/usr/bin/perl -w use warnings; use strict; my @search = ("/(.*?)<\/ID>/", # ID "/(.*?)<\/TimeStamp>/", # Time Stamp "/(.*?)<\/IP_Address>/", # IP Address "/(.*?)<\/Title>/", # Title "/<Complainant><Entity>(.*?)<\/Entity>/", # Reporting Entity "/<Contact>(.*?)<\/Contact>/", # Reporting Entity Contact "/<Address>(.*?)<\/Address>/", # Reporting Entity Address "/<\/Phone><Email>(.*?)<\/Email>/"); # Reporting Entity Email Address my $search_count = @search; my @xmlfiles2 = <*xml>; foreach my $file (@xmlfiles2) { for (my $i = 0; $i <= $search_count; $i++) { open FILE, $file or die "Could not read from $file, program halting."; while (<FILE>) { my $line = "$_"; if ( $line =~ $search[$i]) { my $Var = $1; print "$Var\n"; } } close FILE; } } ##</code><code>## dpich@m6400-vb:~/Documents$ perl 2time.pl Use of uninitialized value within @search in regexp compilation at 2time.pl line 21, <FILE> line 1. Use of uninitialized value $Var in concatenation (.) or string at 2time.pl line 23, <FILE> line 1. Use of uninitialized value within @search in regexp compilation at 2time.pl line 21, <FILE> line 2. Use of uninitialized value $Var in concatenation (.) or string at 2time.pl line 23, <FILE> line 2. Use of uninitialized value within @search in regexp compilation at 2time.pl line 21, <FILE> line 3. Use of uninitialized value $Var in concatenation (.) or string at 2time.pl line 23, <FILE> line 3. Use of uninitialized value within @search in regexp compilation at 2time.pl line 21, <FILE> line 4. Use of uninitialized value $Var in concatenation (.) or string at 2time.pl line 23, <FILE> line 4. dpich@m6400-vb:~/Documents$