parrotcode: parse long and short command line options | |
Contents | Libraries |
library/Getopt/Long.pir - parse long and short command line options
# get the relevant sub
load_bytecode "Getopt/Long.pbc"
.local pmc get_options
find_global get_options, "Getopt::Long", "get_options"
# Assemble option specification
.local pmc opt_spec
opt_spec = new ResizableStringArray
push opt_spec, "bool"
push opt_spec, "string=s"
push opt_spec, "integer=i"
# the program name is the first element in argv
.local string program_name
program_name = shift argv
# Parse the command line params
.local pmc opt
( opt ) = get_options( argv, opt_spec )
.local int is_defined
is_defined = defined opt["bool"]
.local int integer
integer = opt["integer"]
.local string s
s = opt["string"]
This Parrot library can be used for parsing command line options. The subroutine get_options() is exported into the namespace 'Getopt::Long'. Everything after '--' is not regarded as an option. Options and additional parameters cannot be mixed. Options come first.
get_options
in Getopt::Long
This should work like the Perl5 module Getopt::Long. Takes an array of options and an array of specifications.
A Hash PMC is returned.
- Make it work for all cases, short options, long options and bundling. - Recognise type of return value: string, integer, binary, array, hash. - Get started on error reporting. - Provide more options
Bernhard Schmalhofer - Bernhard.Schmalhofer@gmx.de
The Perl5 module Getopt::Long. examples/library/getopt_demo.pir t/library/getopt_long.t
Copyright (C) 2003-2005 The Perl Foundation. All rights reserved. This program is free software. It is subject to the same license as The Parrot Interpreter.
|