Work in filter mode -- accept data on standard input.
Darren Chamberlain [Fri, 10 Oct 2003 16:38:43 +0000 (16:38 +0000)]
bin/sqlt

index 9f7182c..0a434ed 100755 (executable)
--- a/bin/sqlt
+++ b/bin/sqlt
@@ -2,7 +2,7 @@
 # vim: set ft=perl:
 
 # -------------------------------------------------------------------
-# $Id: sqlt,v 1.5 2003-10-04 01:22:46 kycl4rk Exp $
+# $Id: sqlt,v 1.6 2003-10-10 16:38:43 dlc Exp $
 # -------------------------------------------------------------------
 # Copyright (C) 2002 Ken Y. Clark <kclar@cpan.org>,
 #                    darren chamberlain <darren@cpan.org>
@@ -113,7 +113,7 @@ use Pod::Usage;
 use SQL::Translator;
 
 use vars qw( $VERSION );
-$VERSION = sprintf "%d.%02d", q$Revision: 1.5 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.6 $ =~ /(\d+)\.(\d+)/;
 
 my $from;             # the original database
 my $to;               # the destination database 
@@ -168,7 +168,7 @@ GetOptions(
     'db-password:s'   => \$db_password,
 ) or pod2usage(2);
 
-my @files = @ARGV; # source files
+my @files = @ARGV || '-'; # source files
 
 pod2usage(1) if $help;
 
@@ -221,7 +221,8 @@ $translator->parser($from);
 $translator->producer($to);
 
 for my $file (@files) {
-    my $output = $translator->translate(file => $file) or die
+    my @args = ($file eq '-') ? (data => \*STDIN) : (file => $file);
+    my $output = $translator->translate(@args) or die
         "Error: " . $translator->error;
     print $output;
 }