Cool...This worked!!! Thanks a zillion for the response!!
Thanks & Regards, Lakshmi 952-833-1220 -----Original Message----- From: Adriano Ferreira [mailto:[EMAIL PROTECTED] Sent: Friday, June 08, 2007 11:56 AM To: beginners@perl.org Subject: Re: Run a block of sql commands using 'here document' On 6/8/07, Martin Barth <[EMAIL PROTECTED]> wrote: > Hi, > > > I know that using 'Here Documents', we can output multiple lines. But is it > > possible to run a couple of commands? > > > > $s = qx [sqlplus user/[EMAIL PROTECTED] <<ENDOFSQL > > select 2 from DUAL; > > exit > > ENDOFSQL]; > > what do you think about that: > > open(DBI, "| sqlplus user/[EMAIL PROTECTED]"); > then print DBI with a Here Document? > > that should work, shouldn't it? Martin's idea seems the way to go. You can abstract it via sub sqlplus { my $param = shift; my $script_text = shift; open my $script, "| sqlplus $param" or die $!; print $script $script_text; close $script or die $!; } sqlplus("user/[EMAIL PROTECTED]", <<SCRIPT ); select 2 from DUAL; exit SCRIPT Another implementation could use File::Temp. sub sqlplus { my $param = shift; my $script_text = shift; require File::Temp; my ($fh, $filename) = File::Temp::tempfile; print $fh $script_text; close $fh; system "sqlplus $param [EMAIL PROTECTED]" } (untested) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/