#!perl use strict; use warnings; # configuration my $sqlplus = 'sqlplus';#'D:/oracle/product/11.2.0/client_1/BIN/sqlplus.exe'; my $dir = 'C:/Users/namburuk/Desktop/CostSettlement_DBScripts/'; my $sqlfile = 'MI_SCR_0001_FS_sample.sql'; my $logon = 'user/password@ServiceName'; #open IN,'<',$dir.$sqlfile or die "$!"; my $sql = join '', ; # use IN #close IN; # add exit to sql to return from command line open OUT,'>','~temp.sql' or die "$!"; print OUT $sql."\nexit;\n"; close OUT; # run sqlplus.exe in silent mode system($sqlplus,'-S',$logon,'@~temp.sql') == 0 or die "Couldn't launch $sqlplus: $!"; __DATA__ SELECT CURRENT_TIMESTAMP FROM DUAL; CREATE TABLE TRN_SAAA ( TRN_ST NUMBER (30) NOT NULL, TRN_SE NUMBER (30) NOT NULL, CHKD VARCHAR2 (1) DEFAULT 'N' NOT NULL ); INSERT INTO TRN_SAAA VALUES (1,1,'A'); INSERT INTO TRN_SAAA VALUES (2,1,'B'); INSERT INTO TRN_SAAA VALUES (3,1,'C'); SELECT * FROM TRN_SAAA;