-
-
09 Sep 2019 17:24:10 UTC
- Distribution: App-Spec
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues (13)
- Testers (30 / 0 / 1)
- Kwalitee
Bus factor: 1- 62.65% Coverage
- License: perl_5
- Perl: v5.10.0
- Activity
24 month- Tools
- Download (66.12KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
NAME
App::Spec::Tutorial - How to write an app with App::Spec::Run
LINKS
- Options and parameters
-
See App::Spec::Argument for documentation and examples on how to define options and parameters.
GENERATOR
You can generate a boilerplate with appspec:
appspec new --class App::Birthdays --name birthdays.pl
For documentation, look at appspec and App::AppSpec.
EXAMPLES
A minimal app called birthdays.pl
The smallest example would be the following app. It doesn't use subcommands.
- birthdays.pl
-
use strict; use warnings; package App::Birthdays; use base 'App::Spec::Run::Cmd'; sub execute { my ($self, $run) = @_; my $date = $run->options->{date}; my $output = <<"EOM"; Birthdays $date: EOM $output .= "Larry Wall"; if ($run->options->{age}) { $output .= " (Age: unknown)"; } $output .= "\n"; $run->out($output); } package main; use App::Spec; App::Spec->read("$Bin/birthdays.yaml")->runner->run;
- birthdays.yaml
-
Short version:
name: birthdays.pl title: Show birthdays appspec: { version: '0.001' } class: App::Birthdays options: - date=s =today --Date - age --Show age
Long version:
name: birthdays.pl title: Show birthdays appspec: { version: '0.001' } class: App::Birthdays options: - name: date type: string default: today summary: Date - name: age type: flag summary: Show age
Module Install Instructions
To install App::Spec, copy and paste the appropriate command in to your terminal.
cpanm App::Spec
perl -MCPAN -e shell install App::Spec
For more information on module installation, please visit the detailed CPAN module installation guide.