SELECT * FROM MY_SCHEMA.MY_TABLE@/**/MY_DB/**/ MY, YOUR_SCHEMA.YOUR_TABLE@/**/YOUR_DB/**/ YOUR WHERE MY.JOIN_KEY = YOUR.JOIN_KEY #### #! /usr/bin/perl -w use strict ; use warnings ; use diagnostics ; use Data::Dumper ; $|++ ; #--------------------------------------- print "1ST TRY\n------\n" ; my @db_list_one = () ; my $text_one = q( SELECT * FROM SYNERGEN.SA_ASSET@/**/SGENQA/**/ ) ; my $matches_one = 0 ; if ( $text_one =~ m/\/\*\s*\s*\*\/(.*)\/\*\s*<\/DATABASE>\s*\*\//i ) { push( @db_list_one, $1 ) ; $matches_one++ ; } print Dumper( \@db_list_one ), "\n\n" ; #--------------------------------------- print "2ND TRY\n------\n" ; my @db_list_two = () ; my $text_two = q( SELECT * FROM SYNERGEN.SA_ASSET@/**/SGENQA/**/, SYNERGEN.SA_WORK_ORDER@/**/SGENTEST/**/ ) ; my $text_two_copy = $text_two ; my $matches_two = 0 ; while ( $text_two_copy =~ s/\/\*\s*\s*\*\/(.*)\/\*\s*<\/DATABASE>\s*\*\///i ) { push( @db_list_two, $1 ) ; $matches_two++ ; } print Dumper( \@db_list_two ), "\n\n" ; #### 1ST TRY ------ $VAR1 = [ 'SGENQA' ]; 2ND TRY ------ $VAR1 = [ 'SGENQA', 'SGENTEST' ];