package XML::Grammar::Screenplay::App::FromProto;
use strict;
use warnings;
use base 'Exporter';
our @EXPORT = (qw(run));
use Getopt::Long;
use XML::Grammar::Screenplay::FromProto;
use XML::Grammar::Screenplay::FromProto::Parser::QnD;
=head1 NAME
XML::Grammar::Screenplay::App::FromProto - module implementing
a command line application to convert a well-formed text to
Screenplay XML.
=head1 SYNOPSIS
perl -MXML::Grammar::Screenplay::App::FromProto -e 'run()' -- \
-o $@ $<
=head1 FUNCTIONS
=head2 run()
Call with no arguments to run the application from the commandline.
=cut
sub run
{
my $output_filename;
GetOptions(
"output|o=s" => \$output_filename,
);
if (!defined($output_filename))
{
die "Output filename not specified! Use the -o|--output flag!";
}
my $converter = XML::Grammar::Screenplay::FromProto->new({
parser_class => "XML::Grammar::Screenplay::FromProto::Parser::QnD",
});
my $output_xml = $converter->convert({
source => { file => shift(@ARGV), },
}
);
open my $out, ">", $output_filename;
binmode $out, ":utf8";
print {$out} $output_xml;
close($out);
exit(0);
}
=head1 AUTHOR
Shlomi Fish, L.
=head1 BUGS
Please report any bugs or feature requests to
C, or through the web interface at
L.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
=head1 ACKNOWLEDGEMENTS
=head1 COPYRIGHT & LICENSE
Copyright 2007 Shlomi Fish, all rights reserved.
This program is released under the following license: MIT X11.
=cut
1;