#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
use Math::SymbolicX::Calculator::Interface::Shell;
our $VERSION = 0.01;
my $source;
GetOptions(
'source|s=s' => \$source,
'man' => sub { pod2usage(-verbose => 2, -exitstatus => 0) },
'h|help' => sub { pod2usage(-verbose => 1, -exitstatus => 0) },
);
my $in_handle = \*STDIN;
my $prompt = '~> ';
my $continued_prompt = '>> ';
# Commands from file?
if (defined $source) {
open(my $fh, '<', $source)
or pod2usage(
"The source file '".$source."' could not be opened."
);
$in_handle = $fh;
$prompt = '';
$continued_prompt = '';
}
my $shell = Math::SymbolicX::Calculator::Interface::Shell->new(
input_handle => $in_handle,
prompt => $prompt,
continued_prompt => $continued_prompt,
);
$shell->run();
__END__
=head1 NAME
symbolic_calculator_shell
=head1 SYNOPSIS
symbolic_calculator [-s FILE] [--man] [--help]
=head1 OPTIONS
-s or --source FILE
Read from this file instead of STDIN
--man
Display the full manual (which is currently rather lacking).
-h or --help
Display (this) short help.
=head1 DESCRIPTION
This is a shell interface for the Math::SymbolicX::Calculator Perl module.
(See also "perldoc Math::SymbolicX::Calculator::Interface::Shell")
=cut