table of contents
| App::Spec::Tutorial(3) | User Contributed Perl Documentation | App::Spec::Tutorial(3) |
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 ageLong 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
| 2025-03-26 | perl v5.42.1 |