$syntax_okay = podchecker($filepath, $outputpath, %options);

Size: px
Start display at page:

Download "$syntax_okay = podchecker($filepath, $outputpath, %options);"

Transcription

1 NAME Pod::Checker - check pod documents for syntax errors SYNOPSIS use Pod::Checker; $syntax_okay = podchecker($filepath, $outputpath, %options); my $checker = Pod::Checker->new(%options); $checker->parse_from_file($filepath, \*STDERR); OPTIONS/ARGUMENTS podchecker() $filepath is the input POD to read and $outputpath is where to write POD syntax error messages. Either argument may be a scalar indicating a file-path, or else a reference to an open filehandle. If unspecified, the input-file it defaults to \*STDIN, and the output-file defaults to \*STDERR. This function can take a hash of options: -warnings => val -quiet => val DESCRIPTION DIAGNOSTICS Errors Turn warnings on/off. val is usually 1 for on, but higher values trigger additional warnings. See Warnings. If val is true, do not print any errors/warnings. podchecker will perform syntax checking of Perl5 POD format documentation. Curious/ambitious users are welcome to propose additional features they wish to see in Pod::Checker and podchecker and verify that the checks are consistent with perlpod. The following checks are currently performed: Unknown '=xxxx' commands, unknown 'X<...>' interior-sequences, and unterminated interior sequences. Check for proper balancing of =begin and =end. The contents of such a block are generally ignored, i.e. no syntax checks are performed. Check for proper nesting and balancing of =over, =item and =back. Check for same nested interior-sequences (e.g. L<...L<...>...>). Check for malformed or non-existing entities E<...>. Check for correct syntax of hyperlinks L<...>. See perlpod for details. Check for unresolved document-internal links. This check may also reveal misspelled links that seem to be internal links but should be links to something else. * empty =headn A heading (=head1 or =head2) without any text? That ain't no heading! Page 1

2 * =over on line N without closing =back * You forgot a '=back' before '=headn' * =over is the last thing in the document?! The =over command does not have a corresponding =back before the next heading ( =head1 or =head2) or the end of the file. * '=item' outside of any '=over' * =back without =over An =item or =back command has been found outside a =over/=back block. * Can't have a 0 in =over N You need to indent a strictly positive number of spaces, not 0. * =over should be: '=over' or '=over positive_number' Either have an argumentless =over, or have its argument a strictly positive number. * =begin TARGET without matching =end TARGET A =begin command was found that has no matching =end command. * =begin without a target? A =begin command was found that is not followed by the formatter specification. * =end TARGET without matching =begin. A standalone =end command was found. * '=end' without a target? '=end' directives need to have a target, just like =begin directives. * '=end TARGET' is invalid. TARGET needs to be one word * =end CONTENT doesn't match =begin TARGET CONTENT needs to match =begin's TARGET. * =for without a target? There is no specification of the formatter after the =for command. * unresolved internal link NAME The given link to NAME does not have a matching node in the current POD. This also happened when a single word node name is not enclosed in "". * Unknown directive: CMD An invalid POD command has been found. Valid are =head1, =head2, =head3, =head4, =over, =item, =back, =begin, =end, =for, =pod, =cut * Deleting unknown formatting code SEQ An invalid markup command has been encountered. Valid are: B<>, C<>, E<>, F<>, I<>, L<>, S<>, X<>, Z<> * Unterminated SEQ<> sequence An unclosed formatting code * An E<...> surrounding strange content The STRING found cannot be interpreted as a character entity. Page 2

3 Warnings * An empty E<> * An empty L<> * An empty X<> There needs to be content inside E, L, and X formatting codes. * A non-empty Z<> The Z<> sequence is supposed to be empty. * Spurious text after =pod / =cut The commands =pod and =cut do not take any arguments. * =back doesn't take any parameters, but you said =back ARGUMENT The =back command does not take any arguments. * =pod directives shouldn't be over one line long! Ignoring all N lines of content Self explanatory * =cut found outside a pod block. A '=cut' directive found in the middle of non-pod * Invalid =encoding syntax: CONTENT Syntax error in =encoding directive These may not necessarily cause trouble, but indicate mediocre style. * nested commands CMD<...CMD<...>...> Two nested identical markup commands have been found. Generally this does not make sense. * multiple occurrences (N) of link target name The POD file has some =item and/or =head commands that have the same text. Potential hyperlinks to such a text cannot be unique then. This warning is printed only with warning level greater than one. * line containing nothing but whitespace in paragraph There is some whitespace on a seemingly empty line. POD is very sensitive to such things, so this is flagged. vi users switch on the list option to avoid this problem. * =item has no contents There is a list =item that has no text contents. You probably want to delete empty items. * You can't have =items (as at line N) unless the first thing after the =over is an =item A list introduced by =over starts with a text or verbatim paragraph, but continues with =item s. Move the non-item paragraph out of the =over/=back block. * Expected '=item EXPECTED VALUE' * Expected '=item *' * Possible =item type mismatch: 'x' found leading a supposed definition =item A list started with e.g. a bullet-like =item and continued with a numbered one. This is obviously inconsistent. For most translators the type of the first =item determines the type of the list. * You have '=item x' instead of the expected '=item N' Page 3

4 Hyperlinks Erroneous numbering of =item numbers; they need to ascend consecutively. * Unknown E content in E<CONTENT> A character entity was found that does not belong to the standard ISO set or the POD specials verbar and sol. Currently, this warning only appears if a character entity was found that does not have a Unicode character. This should be fixed to adhere to the original warning. * empty =over/=back block The list opened with =over does not contain anything. * empty section in previous paragraph The previous section (introduced by a =head command) does not contain any valid content. This usually indicates that something is missing. Note: A =head1 followed immediately by =head2 does not trigger this warning. * Verbatim paragraph in NAME section The NAME section (=head1 NAME) should consist of a single paragraph with the script/module name, followed by a dash `-' and a very short description of what the thing is good for. * =headn without preceding higher level For example if there is a =head2 in the POD file prior to a =head1. There are some warnings with respect to malformed hyperlinks: * ignoring leading/trailing whitespace in link There is whitespace at the beginning or the end of the contents of L<...>. * alternative text/node '%s' contains non-escaped or / The characters and / are special in the L<...> context. Although the hyperlink parser does its best to determine which "/" is text and which is a delimiter in case of doubt, one ought to escape these literal characters like this: / E<sol> E<verbar> Note that the line number of the error/warning may refer to the line number of the start of the paragraph in which the error/warning exists, not the line number that the error/warning is on. This bug is present in errors/warnings related to formatting codes. This should be fixed. RETURN VALUE EXAMPLES SCRIPTS podchecker returns the number of POD syntax errors found or -1 if there were no POD commands at all found in the file. See SYNOPSIS The podchecker script that comes with this distribution is a lean wrapper around this module. See the online manual with podchecker -help podchecker -man Page 4

5 INTERFACE While checking, this module collects document properties, e.g. the nodes for hyperlinks (=headx, =item) and index entries (X<>). POD translators can use this feature to syntax-check and get the nodes in a first pass before actually starting to convert. This is expensive in terms of execution time, but allows for very robust conversions. Since v1.24 the Pod::Checker module uses only the poderror method to print errors and warnings. The summary output (e.g. "Pod syntax OK") has been dropped from the module and has been included in podchecker (the script). This allows users of Pod::Checker to control completely the output behavior. Users of podchecker (the script) get the well-known behavior. v1.45 inherits from Pod::Simple as opposed to all previous versions inheriting from Pod::Parser. Do not use Pod::Simple's interface when using Pod::Checker unless it is documented somewhere on this page. I repeat, DO NOT USE POD::SIMPLE'S INTERFACE. Pod::Checker->new( %options ) Return a reference to a new Pod::Checker object that inherits from Pod::Simple and is used for calling the required methods later. The following options are recognized: -warnings => num Print warnings if num is true. The higher the value of num, the more warnings are printed. Currently there are only levels 1 and 2. -quiet => num If num is true, do not print any errors/warnings. This is useful when Pod::Checker is used to munge POD code into plain text from within POD formatters. ) $checker->poderror( ) Internal method for printing errors and warnings. If no options are given, simply prints "@_". The following options are recognized and used to form the output: -msg A message to print prior -line The line number the error occurred in. -file The file (name) the error occurred in. Defaults to the name of the current file being processed. -severity The error level, should be 'WARNING' or 'ERROR'. $checker->num_errors() Set (if argument specified) and retrieve the number of errors found. $checker->num_warnings() Set (if argument specified) and retrieve the number of warnings found. $checker->name() Set (if argument specified) and retrieve the canonical name of POD as found in the =head1 NAME section. $checker->node() Add (if argument specified) and retrieve the nodes (as defined by =headx and =item) of the current POD. The nodes are returned in the order of their occurrence. They consist of plain text, each piece of whitespace is collapsed to a single blank. Page 5

6 $checker->idx() Add (if argument specified) and retrieve the index entries (as defined by X<>) of the current POD. They consist of plain text, each piece of whitespace is collapsed to a single blank. $checker->hyperlinks() Retrieve an array containing the hyperlinks to things outside the current POD (as defined by L <>). Each is an instance of a class with the following methods: line() type() page() Returns the approximate line number in which the link was encountered Returns the type of the link; one of: "url" for things like "man" for man pages, or "pod". Returns the linked-to page or url. AUTHOR node() Returns the anchor or node within the linked-to page, or an empty string ("") if none appears in the link. Please report bugs using Brad Appleton <bradapp@enteract.com> (initial version), Marek Rouchal <marekr@cpan.org>, Marc Green <marcgreen@cpan.org> (port to Pod::Simple) Ricardo Signes <rjbs@cpan.org> (more porting to Pod::Simple) Karl Williamson <khw@cpan.org> (more porting to Pod::Simple) Based on code for Pod::Text::pod2text() written by Tom Christiansen <tchrist@mox.perl.com> Page 6

$syntax_okay = podchecker($filepath, $outputpath, %options);

$syntax_okay = podchecker($filepath, $outputpath, %options); NAME Pod::Checker, podchecker() - check pod documents for syntax errors SYNOPSIS use Pod::Checker; $syntax_okay = podchecker($filepath, $outputpath, %options); OPTIONS/ARGUMENTS podchecker() DESCRIPTION

More information

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators.

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators. NAME SYNOPSIS Pod::Parser - base class for creating POD filters and translators use Pod::Parser; package MyParser; @ISA = qw(pod::parser); sub command { my ($parser, $command, $paragraph, $line_num) =

More information

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators.

NAME SYNOPSIS. Perl version documentation - Pod::Parser. Pod::Parser - base class for creating POD filters and translators. NAME SYNOPSIS Pod::Parser - base class for creating POD filters and translators use Pod::Parser; package MyParser; @ISA = qw(pod::parser); sub command { my ($parser, $command, $paragraph, $line_num) =

More information

Pod::Usage, pod2usage() - print a usage message from embedded pod documentation

Pod::Usage, pod2usage() - print a usage message from embedded pod documentation NAME Pod::Usage, pod2usage() - print a usage message from embedded pod documentation SYNOPSIS use Pod::Usage my $message_text = "This text precedes the usage message."; my $exit_status = 2; ## The exit

More information

use Pod::Man; my $parser = Pod::Man->new (release => $VERSION, section => 8);

use Pod::Man; my $parser = Pod::Man->new (release => $VERSION, section => 8); NAME SYNOPSIS Pod::Man - Convert POD data to formatted *roff input use Pod::Man; my $parser = Pod::Man->new (release => $VERSION, section => 8); # Read POD from STDIN and write to STDOUT. $parser->parse_file

More information

Be sure to read ENCODING if your Pod contains non-ascii characters.

Be sure to read ENCODING if your Pod contains non-ascii characters. NAME Pod::Simple - framework for parsing Pod SYNOPSIS TODO DESCRIPTION Pod::Simple is a Perl library for parsing text in the Pod ("plain old documentation") markup language that is typically used for writing

More information

*roff code is suitable for display on a terminal using nroff(1), normally via man(1), or printing using troff(1).

*roff code is suitable for display on a terminal using nroff(1), normally via man(1), or printing using troff(1). NAME SYNOPSIS DESCRIPTION OPTIONS pod2man - Convert POD data to formatted *roff input pod2man [--section= manext] [--release= version] [--center= string] [--date= string] [--fixed= ] [ --fixedbold= ] [--fixeditalic=

More information

Documenting Code. Plain Old Documentation (POD) markup language

Documenting Code. Plain Old Documentation (POD) markup language Documenting Code Plain Old Documentation (POD) markup language Copyright 2006 2009 Stewart Weiss User documentation Suppose that you have reached the point where you are creating useful programs and modules.

More information

Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules.

Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules. NAME DESCRIPTION perlpod - the Plain Old Documentation format Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules. Translators are available

More information

Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules.

Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules. NAME DESCRIPTION perlpod - the Plain Old Documentation format Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules. Translators are available

More information

This class is a formatter that takes Pod and renders it as XHTML validating HTML.

This class is a formatter that takes Pod and renders it as XHTML validating HTML. NAME Pod::Simple::XHTML -- format Pod as validating XHTML SYNOPSIS use Pod::Simple::XHTML; my $parser = Pod::Simple::XHTML->new();... DESCRIPTION Minimal code METHODS $parser->parse_file('path/to/file.pod');

More information

psed [-an] script [file...] psed [-an] [-e script] [-f script-file] [file...]

psed [-an] script [file...] psed [-an] [-e script] [-f script-file] [file...] NAME SYNOPSIS DESCRIPTION OPTIONS psed - a stream editor psed [-an] script [file...] psed [-an] [-e script] [-f script-file] [file...] s2p [-an] [-e script] [-f script-file] A stream editor reads the input

More information

Lecture Outline. COMP-421 Compiler Design. What is Lex? Lex Specification. ! Lexical Analyzer Lex. ! Lex Examples. Presented by Dr Ioanna Dionysiou

Lecture Outline. COMP-421 Compiler Design. What is Lex? Lex Specification. ! Lexical Analyzer Lex. ! Lex Examples. Presented by Dr Ioanna Dionysiou Lecture Outline COMP-421 Compiler Design! Lexical Analyzer Lex! Lex Examples Presented by Dr Ioanna Dionysiou Figures and part of the lecture notes taken from A compact guide to lex&yacc, epaperpress.com

More information

$parser->parse_from_file ('file.pod', 'file.tex');

$parser->parse_from_file ('file.pod', 'file.tex'); NAME SYNOPSIS Pod::LaTeX - Convert Pod data to formatted Latex use Pod::LaTeX; my $parser = Pod::LaTeX->new ( ); $parser->parse_from_filehandle; DESCRIPTION $parser->parse_from_file ('file.pod', 'file.tex');

More information

(Refer Slide Time: 01:12)

(Refer Slide Time: 01:12) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #22 PERL Part II We continue with our discussion on the Perl

More information

# Extract the initial substring of $text that is delimited by # two (unescaped) instances of the first character in $delim.

# Extract the initial substring of $text that is delimited by # two (unescaped) instances of the first character in $delim. NAME SYNOPSIS Text::Balanced - Extract delimited text sequences from strings. use Text::Balanced qw ( extract_delimited extract_bracketed extract_quotelike extract_codeblock extract_variable extract_tagged

More information

This is a list of questions and answers about Unicode in Perl, intended to be read after perlunitut.

This is a list of questions and answers about Unicode in Perl, intended to be read after perlunitut. NAME Q and A perlunifaq - Perl Unicode FAQ This is a list of questions and answers about Unicode in Perl, intended to be read after perlunitut. perlunitut isn't really a Unicode tutorial, is it? No, and

More information

Pathologically Eclectic Rubbish Lister

Pathologically Eclectic Rubbish Lister Pathologically Eclectic Rubbish Lister 1 Perl Design Philosophy Author: Reuben Francis Cornel perl is an acronym for Practical Extraction and Report Language. But I guess the title is a rough translation

More information

ArgParse.jl Documentation

ArgParse.jl Documentation ArgParse.jl Documentation Release 0.2 Carlo Baldassi May 12, 2015 Contents 1 Quick overview and a simple example 3 2 The parse_args function 7 3 Settings overview 9 4 General settings 11 5 Argument table

More information

Classnote for COMS6100

Classnote for COMS6100 Classnote for COMS6100 Yiting Wang 3 November, 2016 Today we learn about subroutines, references, anonymous and file I/O in Perl. 1 Subroutines in Perl First of all, we review the subroutines that we had

More information

The SimpleLit System for Literate Programming

The SimpleLit System for Literate Programming The SimpleLit System for Literate Programming Andrew Rock School of Information and Communication Technology Griffith University Nathan, Queensland, 4111, Australia a.rock@griffith.edu.au June 15, 2017

More information

ArgParse.jl Documentation

ArgParse.jl Documentation ArgParse.jl Documentation Release 0.3 Carlo Baldassi October 06, 2015 Contents 1 Quick overview and a simple example 3 2 The parse_args function 7 3 Settings overview 9 4 General settings 11 5 Argument

More information

HTML. Mendel Rosenblum. CS142 Lecture Notes - HTML

HTML. Mendel Rosenblum. CS142 Lecture Notes - HTML HTML Mendel Rosenblum 1 Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet LAN 2 Browser environment is different Traditional app: GUIs based on pixels

More information

A Balanced Introduction to Computer Science, 3/E

A Balanced Introduction to Computer Science, 3/E A Balanced Introduction to Computer Science, 3/E David Reed, Creighton University 2011 Pearson Prentice Hall ISBN 978-0-13-216675-1 Chapter 4 JavaScript and Dynamic Web Pages 1 Static vs. Dynamic Pages

More information

Perl Tutorial. Diana Inkpen. School of Information Technology and Engineering University of Ottawa. CSI 5180, Fall 2004

Perl Tutorial. Diana Inkpen. School of Information Technology and Engineering University of Ottawa. CSI 5180, Fall 2004 Perl Tutorial Diana Inkpen School of Information Technology and Engineering University of Ottawa CSI 5180, Fall 2004 1 What is Perl Practical Extraction and Report Language. Created, implemented, maintained

More information

Parser Tools: lex and yacc-style Parsing

Parser Tools: lex and yacc-style Parsing Parser Tools: lex and yacc-style Parsing Version 5.0 Scott Owens June 6, 2010 This documentation assumes familiarity with lex and yacc style lexer and parser generators. 1 Contents 1 Lexers 3 1.1 Creating

More information

@EXPORT_OK = qw(munge frobnicate); # symbols to export on request

@EXPORT_OK = qw(munge frobnicate); # symbols to export on request NAME Exporter - Implements default import method for modules SYNOPSIS In module YourModule.pm: package YourModule; require Exporter; @ISA = qw(exporter); @EXPORT_OK = qw(munge frobnicate); # symbols to

More information

Parser Tools: lex and yacc-style Parsing

Parser Tools: lex and yacc-style Parsing Parser Tools: lex and yacc-style Parsing Version 6.11.0.6 Scott Owens January 6, 2018 This documentation assumes familiarity with lex and yacc style lexer and parser generators. 1 Contents 1 Lexers 3 1.1

More information

A control expression must evaluate to a value that can be interpreted as true or false.

A control expression must evaluate to a value that can be interpreted as true or false. Control Statements Control Expressions A control expression must evaluate to a value that can be interpreted as true or false. How a control statement behaves depends on the value of its control expression.

More information

CHAPTER 2. Troubleshooting CGI Scripts

CHAPTER 2. Troubleshooting CGI Scripts CHAPTER 2 Troubleshooting CGI Scripts OVERVIEW Web servers and their CGI environment can be set up in a variety of ways. Chapter 1 covered the basics of the installation and configuration of scripts. However,

More information

Writing and Running Programs

Writing and Running Programs Introduction to Python Writing and Running Programs Working with Lab Files These instructions take you through the steps of writing and running your first program, as well as using the lab files in our

More information

CS102: Standard I/O. %<flag(s)><width><precision><size>conversion-code

CS102: Standard I/O. %<flag(s)><width><precision><size>conversion-code CS102: Standard I/O Our next topic is standard input and standard output in C. The adjective "standard" when applied to "input" or "output" could be interpreted to mean "default". Typically, standard output

More information

print STDERR "This is a debugging message.\n";

print STDERR This is a debugging message.\n; NAME DESCRIPTION perlopentut - simple recipes for opening files and pipes in Perl Whenever you do I/O on a file in Perl, you do so through what in Perl is called a filehandle. A filehandle is an internal

More information

PERL. Pattern Extraction and Reporting Language. Example: $x = 10 $value = $x + 1 $word = "hello"

PERL. Pattern Extraction and Reporting Language. Example: $x = 10 $value = $x + 1 $word = hello PERL Pattern Extraction and Reporting Language Example: Web page serving through CGI: Perl is used extensively in serving up content when run in concert with a web-server. Talking to web sites and reporting

More information

CS143 Handout 05 Summer 2011 June 22, 2011 Programming Project 1: Lexical Analysis

CS143 Handout 05 Summer 2011 June 22, 2011 Programming Project 1: Lexical Analysis CS143 Handout 05 Summer 2011 June 22, 2011 Programming Project 1: Lexical Analysis Handout written by Julie Zelenski with edits by Keith Schwarz. The Goal In the first programming project, you will get

More information

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat The American University in Cairo Academic Computing Services Word 2000 prepared by Soumaia Ahmed Al Ayyat Spring 2001 Table of Contents: Opening the Word Program Creating, Opening, and Saving Documents

More information

package YourModule; require = = qw(munge frobnicate); # symbols to export on request

package YourModule; require = = qw(munge frobnicate); # symbols to export on request NAME SYNOPSIS Exporter - Implements default import method for modules In module YourModule.pm: require Exporter; @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or use Exporter 'import';

More information

COMS 3101 Programming Languages: Perl. Lecture 6

COMS 3101 Programming Languages: Perl. Lecture 6 COMS 3101 Programming Languages: Perl Lecture 6 Fall 2013 Instructor: Ilia Vovsha http://www.cs.columbia.edu/~vovsha/coms3101/perl Lecture Outline Concepts: Subroutine references Symbolic references Saving

More information

pylatexenc Documentation

pylatexenc Documentation pylatexenc Documentation Release 1.2 Philippe Faist Apr 28, 2017 Contents: 1 Simple Parser for LaTeX Code 3 1.1 The main LatexWalker class....................................... 3 1.2 Exception Classes............................................

More information

1. Introduction. 2. Scalar Data

1. Introduction. 2. Scalar Data 1. Introduction What Does Perl Stand For? Why Did Larry Create Perl? Why Didn t Larry Just Use Some Other Language? Is Perl Easy or Hard? How Did Perl Get to Be So Popular? What s Happening with Perl Now?

More information

Perl and Python ESA 2007/2008. Eelco Schatborn 27 September 2007

Perl and Python ESA 2007/2008. Eelco Schatborn 27 September 2007 Perl and Python ESA 2007/2008 Eelco Schatborn eelco@os3.nl 27 September 2007 ESA: Perl Vandaag: 1. Perl introduction 2. Basic Perl: types, variables, statements,... 3. Object Oriented Perl 4. Documentation

More information

do shell script in AppleScript

do shell script in AppleScript Technical Note TN2065 do shell script in AppleScript This Technote answers frequently asked questions about AppleScript s do shell script command, which was introduced in AppleScript 1.8. This technical

More information

(Refer Slide Time: 01:41) (Refer Slide Time: 01:42)

(Refer Slide Time: 01:41) (Refer Slide Time: 01:42) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #14 HTML -Part II We continue with our discussion on html.

More information

use attributes (); # optional, to get subroutine declarations = attributes::get(\&foo);

use attributes (); # optional, to get subroutine declarations = attributes::get(\&foo); NAME SYNOPSIS attributes - get/set subroutine or variable attributes sub foo : method ; my ($x,@y,%z) : Bent = 1; my $s = sub : method {... ; use attributes (); # optional, to get subroutine declarations

More information

Lab 4: Shell Scripting

Lab 4: Shell Scripting Lab 4: Shell Scripting Nathan Jarus June 12, 2017 Introduction This lab will give you some experience writing shell scripts. You will need to sign in to https://git.mst.edu and git clone the repository

More information

This is a paragraph. It's quite short.

This is a paragraph. It's quite short. Structure A ReStructuredText Primer From the outset, let me say that "Structured Text" is probably a bit of a misnomer. It's more like "Relaxed Text" that uses certain consistent patterns. These patterns

More information

PHP Hypertext Preprocessor

PHP Hypertext Preprocessor PHP Hypertext Preprocessor A brief survey Stefano Fontanelli stefano.fontanelli@sssup.it January 16, 2009 Stefano Fontanelli stefano.fontanelli@sssup.it PHP Hypertext Preprocessor January 16, 2009 1 /

More information

A shell can be used in one of two ways:

A shell can be used in one of two ways: Shell Scripting 1 A shell can be used in one of two ways: A command interpreter, used interactively A programming language, to write shell scripts (your own custom commands) 2 If we have a set of commands

More information

WebQuest. Question-File Quick-Start Instructions

WebQuest. Question-File Quick-Start Instructions Contents WebQuest Question-File Quick-Start Instructions 1 Introduction 1 2 Where to Start 2 2.1 Questionnaire on Paper............................. 2 2.2 Questionnaire in Electronic Format (Word, PDF,

More information

It can be confusing when you type something like the expressions below and get an error message. a range variable definition a vector of sine values

It can be confusing when you type something like the expressions below and get an error message. a range variable definition a vector of sine values 7_april_ranges_.mcd Understanding Ranges, Sequences, and Vectors Introduction New Mathcad users are sometimes confused by the difference between range variables and vectors. This is particularly true considering

More information

Full file at C How to Program, 6/e Multiple Choice Test Bank

Full file at   C How to Program, 6/e Multiple Choice Test Bank 2.1 Introduction 2.2 A Simple Program: Printing a Line of Text 2.1 Lines beginning with let the computer know that the rest of the line is a comment. (a) /* (b) ** (c) REM (d)

More information

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on GDB Annotations Edition 0.5 May 1994 Cygnus Support Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on

More information

use Params::Check qw[check allow last_error];

use Params::Check qw[check allow last_error]; NAME SYNOPSIS Params::Check - A generic input parsing/checking mechanism. use Params::Check qw[check allow last_error]; sub fill_personal_info { my %hash = @_; my $x; my $tmpl = { firstname => { required

More information

Lou Burnard Consulting

Lou Burnard Consulting Getting started with oxygen Lou Burnard Consulting 2014-06-21 1 Introducing oxygen In this first exercise we will use oxygen to : create a new XML document gradually add markup to the document carry out

More information

This document describes version 2.10 of Switch, released Dec 29, 2003.

This document describes version 2.10 of Switch, released Dec 29, 2003. NAME Switch - A switch statement for Perl VERSION This document describes version 2.10 of Switch, released Dec 29, 2003. SYNOPSIS use Switch; BACKGROUND case 1 { print "number 1" case "a" { print "string

More information

Introduction to Python Documentation

Introduction to Python Documentation Introduction to Python Documentation Release v0.0.1 M.Faisal Junaid Butt August 18, 2015 Contents 1 Models 3 2 Auto Generated Documentation 5 3 Hello World Program Documentation 9 4 Practice 11 5 Indices

More information

luacheck Documentation

luacheck Documentation luacheck Documentation Release latest Peter Melnichenko July 18, 2015 Contents 1 List of warnings 3 1.1 Global variables............................................. 4 1.2 Unused variables and values.......................................

More information

In this document, you will learn how to take a Microsoft Word Document and make it accessible and available as a PDF.

In this document, you will learn how to take a Microsoft Word Document and make it accessible and available as a PDF. Accessibility Creating Accessible PDFs using Microsoft Word What is PDF Accessibility? Accessibility is a general term used to describe the degree to which a product, device, service, or environment is

More information

Introduction to Java. Java Programs Classes, Methods, and Statements Comments Strings Escape Sequences Identifiers Keywords

Introduction to Java. Java Programs Classes, Methods, and Statements Comments Strings Escape Sequences Identifiers Keywords Introduction to Java Java Programs Classes, Methods, and Statements Comments Strings Escape Sequences Identifiers Keywords Program Errors Syntax Runtime Logic Procedural Decomposition Methods Flow of Control

More information

CS 230 Programming Languages

CS 230 Programming Languages CS 230 Programming Languages 09 / 16 / 2013 Instructor: Michael Eckmann Today s Topics Questions/comments? Continue Syntax & Semantics Mini-pascal Attribute Grammars More Perl A more complex grammar Let's

More information

This document describes version 0.87 of Attribute::Handlers, released September 21, 2009.

This document describes version 0.87 of Attribute::Handlers, released September 21, 2009. NAME VERSION SYNOPSIS Attribute::Handlers - Simpler definition of attribute handlers This document describes version 0.87 of Attribute::Handlers, released September 21, 2009. package MyClass; require 5.006;

More information

pm_to_blib({ 'lib/foo/bar.pm' => 'blib/lib/foo/bar.pm' }); Handles the installing and uninstalling of perl modules, scripts, man pages, etc...

pm_to_blib({ 'lib/foo/bar.pm' => 'blib/lib/foo/bar.pm' }); Handles the installing and uninstalling of perl modules, scripts, man pages, etc... NAME ExtUtils::Install - install files from here to there SYNOPSIS use ExtUtils::Install; install({ 'blib/lib' => 'some/install/dir' } ); uninstall($packlist); VERSION 2.04 DESCRIPTION pm_to_blib({ 'lib/foo/bar.pm'

More information

c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.

c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance. 2.1 Introduction (No questions.) 2.2 A Simple Program: Printing a Line of Text 2.1 Which of the following must every C program have? (a) main (b) #include (c) /* (d) 2.2 Every statement in C

More information

[Skip ahead to DESCRIPTION if you don't care about the whys and wherefores of this control structure]

[Skip ahead to DESCRIPTION if you don't care about the whys and wherefores of this control structure] NAME Switch - A switch statement for Perl SYNOPSIS use Switch; Perl version 5.12.1 documentation - Switch BACKGROUND case 1 { print "number 1" case "a" { print "string a" case [1..10,42] { print "number

More information

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan TagSoup: A SAX parser in Java for nasty, ugly HTML John Cowan (cowan@ccil.org) Copyright This presentation is: Copyright 2002 John Cowan Licensed under the GNU General Public License ABSOLUTELY WITHOUT

More information

Creating an Accessible Word Document. PC Computer. Revised November 27, Adapted from resources created by the Sonoma County Office of Education

Creating an Accessible Word Document. PC Computer. Revised November 27, Adapted from resources created by the Sonoma County Office of Education Creating an Accessible Word Document PC Computer Revised November 27, 2018 Adapted from resources created by the Sonoma County Office of Education Title the Document Add an official title to the document

More information

my $full_path = can_run('wget') or warn 'wget is not installed!';

my $full_path = can_run('wget') or warn 'wget is not installed!'; NAME IPC::Cmd - finding and running system commands made easy SYNOPSIS use IPC::Cmd qw[can_run run]; my $full_path = can_run('wget') or warn 'wget is not installed!'; ### commands can be arrayrefs or strings

More information

The Logical Design of the Tokeniser

The Logical Design of the Tokeniser Page 1 of 21 The Logical Design of the Tokeniser Purpose 1. To split up a character string holding a RAQUEL statement expressed in linear text, into a sequence of character strings (called word tokens),

More information

S206E Lecture 19, 5/24/2016, Python an overview

S206E Lecture 19, 5/24/2016, Python an overview S206E057 Spring 2016 Copyright 2016, Chiu-Shui Chan. All Rights Reserved. Global and local variables: differences between the two Global variable is usually declared at the start of the program, their

More information

i2man(1)

i2man(1) i2man(1) 2010-11-07 1.1 1 Introduction 3 1.1 NAME....................................... 3 1.2 SYNOPSIS.................................... 3 1.3 DESCRIPTION................................. 3 1.4 OPTIONS.....................................

More information

EVENT-DRIVEN PROGRAMMING

EVENT-DRIVEN PROGRAMMING LESSON 13 EVENT-DRIVEN PROGRAMMING This lesson shows how to package JavaScript code into self-defined functions. The code in a function is not executed until the function is called upon by name. This is

More information

JavaScript: Introduction to Scripting

JavaScript: Introduction to Scripting iw3htp2.book Page 194 Wednesday, July 18, 2001 9:01 AM 7 JavaScript: Introduction to Scripting Objectives To be able to write simple JavaScript programs. To be able to use input and output statements.

More information

This document provides a concise, introductory lesson in HTML formatting.

This document provides a concise, introductory lesson in HTML formatting. Tip Sheet This document provides a concise, introductory lesson in HTML formatting. Introduction to HTML In their simplest form, web pages contain plain text and formatting tags. The formatting tags are

More information

Well-formed XML Documents

Well-formed XML Documents Well-formed XML Documents Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Agenda Types of XML documents Why Well-formed XML Documents

More information

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1 Shell Scripting Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 If we have a set of commands that we want to run on a regular basis, we could write a script A script acts as a Linux command,

More information

my $full_path = can_run('wget') or warn 'wget is not installed!';

my $full_path = can_run('wget') or warn 'wget is not installed!'; NAME IPC::Cmd - finding and running system commands made easy SYNOPSIS use IPC::Cmd qw[can_run run run_forked]; my $full_path = can_run('wget') or warn 'wget is not installed!'; ### commands can be arrayrefs

More information

perl -MPod::Simple::HTML -e Pod::Simple::HTML::go thingy.pod

perl -MPod::Simple::HTML -e Pod::Simple::HTML::go thingy.pod NAME SYNOPSIS DESCRIPTION Pod::Simple::HTML - convert Pod to HTML perl -MPod::Simple::HTML -e Pod::Simple::HTML::go thingy.pod This class is for making an HTML rendering of a Pod document. This is a subclass

More information

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB By Hassan S. Shavarani UNIT2: MARKUP AND HTML 1 IN THIS UNIT YOU WILL LEARN THE FOLLOWING Create web pages in HTML with a text editor, following

More information

bc an arbitrary precision calculator language version 1.06

bc an arbitrary precision calculator language version 1.06 and Other Implementations-titleGNU bc and Other Implementations bc an arbitrary precision calculator language version 1.06 Philip A. Nelson This manual documents bc, an arbitrary precision calculator language.

More information

use Unicode::UCD qw(charscript charinrange); my $range = charscript($script); print "looks like $script\n" if charinrange($range, $codepoint);

use Unicode::UCD qw(charscript charinrange); my $range = charscript($script); print looks like $script\n if charinrange($range, $codepoint); NAME SYNOPSIS Unicode::UCD - Unicode character database use Unicode::UCD 'charinfo'; my $charinfo = charinfo($codepoint); use Unicode::UCD 'charblock'; my $charblock = charblock($codepoint); use Unicode::UCD

More information

the Computability Hierarchy

the Computability Hierarchy 2013 0 the Computability Hierarchy Eric Hehner Department of Computer Science, University of Toronto hehner@cs.utoronto.ca Abstract A computability hierarchy cannot be constructed by halting oracles. Introduction

More information

Language Reference Manual

Language Reference Manual TAPE: A File Handling Language Language Reference Manual Tianhua Fang (tf2377) Alexander Sato (as4628) Priscilla Wang (pyw2102) Edwin Chan (cc3919) Programming Languages and Translators COMSW 4115 Fall

More information

CSE 413 Final Exam. June 7, 2011

CSE 413 Final Exam. June 7, 2011 CSE 413 Final Exam June 7, 2011 Name The exam is closed book, except that you may have a single page of hand-written notes for reference plus the page of notes you had for the midterm (although you are

More information

Code Editor. The Code Editor is made up of the following areas: Toolbar. Editable Area Output Panel Status Bar Outline. Toolbar

Code Editor. The Code Editor is made up of the following areas: Toolbar. Editable Area Output Panel Status Bar Outline. Toolbar Code Editor Wakanda s Code Editor is a powerful editor where you can write your JavaScript code for events and functions in datastore classes, attributes, Pages, widgets, and much more. Besides JavaScript,

More information

1 Executing the Program

1 Executing the Program UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS61B Fall 2013 P. N. Hilfinger Programming Project #1: A Text Formatter (Version 5) Due: Monday,

More information

Chapter 2, Part I Introduction to C Programming

Chapter 2, Part I Introduction to C Programming Chapter 2, Part I Introduction to C Programming C How to Program, 8/e, GE 2016 Pearson Education, Ltd. All rights reserved. 1 2016 Pearson Education, Ltd. All rights reserved. 2 2016 Pearson Education,

More information

Babu Madhav Institute of Information Technology, UTU 2015

Babu Madhav Institute of Information Technology, UTU 2015 Five years Integrated M.Sc.(IT)(Semester 5) Question Bank 060010502:Programming in Python Unit-1:Introduction To Python Q-1 Answer the following Questions in short. 1. Which operator is used for slicing?

More information

Command line options come in several flavours. Historically, they are preceded by a single dash -, and consist of a single letter.

Command line options come in several flavours. Historically, they are preceded by a single dash -, and consist of a single letter. NAME SYNOPSIS DESCRIPTION Getopt::Long - Extended processing of command line options use Getopt::Long; my $data = "file.dat"; my $length = 24; my $verbose; $result = GetOptions ("length=i" => \$length,

More information

my $reply = $term->get_reply( prompt => 'What is your favourite colour?', choices => [qw blue red green ], default => blue, );

my $reply = $term->get_reply( prompt => 'What is your favourite colour?', choices => [qw blue red green ], default => blue, ); NAME SYNOPSIS Term::UI - Term::ReadLine UI made easy use Term::UI; use Term::ReadLine; my $term = Term::ReadLine->new('brand'); my prompt => 'What is your favourite colour?', choices => [qw blue red green

More information

By default, optional warnings are disabled, so any legacy code that doesn't attempt to control the warnings will work unchanged.

By default, optional warnings are disabled, so any legacy code that doesn't attempt to control the warnings will work unchanged. SYNOPSIS use warnings; no warnings; use warnings "all"; no warnings "all"; use warnings::register; if (warnings::enabled()) warnings::warn("some warning"); if (warnings::enabled("void")) warnings::warn("void",

More information

Principles of Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore

Principles of Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore (Refer Slide Time: 00:20) Principles of Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 4 Lexical Analysis-Part-3 Welcome

More information

CS664 Compiler Theory and Design LIU 1 of 16 ANTLR. Christopher League* 17 February Figure 1: ANTLR plugin installer

CS664 Compiler Theory and Design LIU 1 of 16 ANTLR. Christopher League* 17 February Figure 1: ANTLR plugin installer CS664 Compiler Theory and Design LIU 1 of 16 ANTLR Christopher League* 17 February 2016 ANTLR is a parser generator. There are other similar tools, such as yacc, flex, bison, etc. We ll be using ANTLR

More information

Syntax Errors; Static Semantics

Syntax Errors; Static Semantics Dealing with Syntax Errors Syntax Errors; Static Semantics Lecture 14 (from notes by R. Bodik) One purpose of the parser is to filter out errors that show up in parsing Later stages should not have to

More information

WebAccess Configuration Manual MTConnect Driver Guide

WebAccess Configuration Manual MTConnect Driver Guide MTConnect Driver Guide Advantech Corp., Ltd. page 1 MTConnect Driver Guide 1. Block Diagram 2. WebAccess Setting 3. Appendix Advantech Corp., Ltd. page 2 1. Block Diagram CNC+Adapter MTConnect Agent Application

More information

American National Standards Institute Reply to: Josee Lajoie

American National Standards Institute Reply to: Josee Lajoie Accredited Standards Committee X3 Information Processing Systems Operating under the procedures of American National Standards Institute Doc No: X3J16/95-0051 WG21/N0651 Date: March 3, 1995 Page 1 of 15

More information

(Refer Slide Time: 01:40)

(Refer Slide Time: 01:40) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #25 Javascript Part I Today will be talking about a language

More information

egrapher Language Reference Manual

egrapher Language Reference Manual egrapher Language Reference Manual Long Long: ll3078@columbia.edu Xinli Jia: xj2191@columbia.edu Jiefu Ying: jy2799@columbia.edu Linnan Wang: lw2645@columbia.edu Darren Chen: dsc2155@columbia.edu 1. Introduction

More information

Chapter 1 Getting Started with HTML 5 1. Chapter 2 Introduction to New Elements in HTML 5 21

Chapter 1 Getting Started with HTML 5 1. Chapter 2 Introduction to New Elements in HTML 5 21 Table of Contents Chapter 1 Getting Started with HTML 5 1 Introduction to HTML 5... 2 New API... 2 New Structure... 3 New Markup Elements and Attributes... 3 New Form Elements and Attributes... 4 Geolocation...

More information

UNIT -II. Language-History and Versions Introduction JavaScript in Perspective-

UNIT -II. Language-History and Versions Introduction JavaScript in Perspective- UNIT -II Style Sheets: CSS-Introduction to Cascading Style Sheets-Features- Core Syntax-Style Sheets and HTML Style Rle Cascading and Inheritance-Text Properties-Box Model Normal Flow Box Layout- Beyond

More information

Text Search & Auto Coding

Text Search & Auto Coding THE DATA LEVEL - BASIC FUNCTIONS 225 Text Search & Auto Coding The Text Search Tool is used to search within primary texts for the occurrence of specific text strings that match a designated string or

More information