#!/usr/bin/perl use warnings; use strict; use SQL::Statement; my $stmt = SQL::Statement->new(" SELECT a, b FROM tblA LEFT JOIN tblB WHERE c > 10 and tblB.d = 5 "); printf "Tables : %s\nSelect Cols : %s\nWhere Cols : %s\n", join( ', ', @ { $stmt->{org_table_names} } ), join( ', ', map {$_->display_name} $stmt->columns ), join( ', ', keys %{ $stmt->{where_cols} } ), ; # OUTPUT # Tables : tblA, tblB # Select Cols : a, b # Where Cols : tblB.d, c