GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Term::Form(3) User Contributed Perl Documentation Term::Form(3)

Term::Form - Read lines from STDIN.

Version 0.542

    my $aoa = [
        [ 'name'           ],
        [ 'year'           ],
        [ 'color', 'green' ],
        [ 'city'           ]
    ];

    # Object-oriented interface:

    use Term::Form;

    my $new = Term::Form->new();

    my $line = $new->readline( 'Prompt: ', { default => 'abc' } );

    my $modified_list = $new->fill_form( $aoa );

    # Functional interface:

    use Term::Form qw( read_line fill_form );

    my $line = read_line( 'Prompt: ', { default => 'abc' } );

    my $modified_list = fill_form( $aoa );

"readline" reads a line from STDIN. As soon as "Return" is pressed "readline" returns the read string without the newline character - so no "chomp" is required.

"fill_form" reads a list of lines from STDIN.

This module is intended to cope with Unicode (multibyte character/grapheme cluster).

The output is removed after leaving the method, so the user can decide what remains on the screen.

"BackSpace" or "Ctrl-H": Delete the character behind the cursor.

"Delete" or "Ctrl-D": Delete the character at point.

"Ctrl-U": Delete the text backward from the cursor to the beginning of the line.

"Ctrl-K": Delete the text from the cursor to the end of the line.

"Right-Arrow" or "Ctrl-F": Move forward a character.

"Left-Arrow" or "Ctrl-B": Move back a character.

"Home" or "Ctrl-A": Move to the start of the line.

"End" or "Ctrl-E": Move to the end of the line.

"Up-Arrow" or "Ctrl-R": in "fill_form" move up one row, in "readline" move back 10 characters.

"Down-Arrow" or "Ctrl-S": in "fill_form" move down one row, in "readline" move forward 10 characters.

"Ctrl-X": If the input puffer is not empty, the input puffer is cleared, else "Ctrl-X" returns nothing (undef).

Only in "fill_form":

"Page-Up" or "Ctrl-P": Move to the previous page.

"Page-Down" or "Ctrl-N": Move to the next page.

The "new" method returns a "Term::Form" object.

    my $new = Term::Form->new();

To set the different options it can be passed a reference to a hash as an optional argument.

"readline" reads a line from STDIN.

    $line = $new->readline( $prompt, \%options );

The fist argument is the prompt string.

The optional second argument is the default string (see option default) if it is not a reference. If the second argument is a hash-reference, the hash is used to set the different options. The keys/options are

clear_screen

If enabled, the screen is cleared before the output.

0 - clears from the current position to the end of screen

1 - clears the entire screen

2 - if show_context is disabled, clears only the current (readline) row. If show_context is enabled behaves like clear_screen where set to 0.

default: 0

codepage_mapping

This option has only meaning if the operating system is MSWin32.

If the OS is MSWin32, Win32::Console::ANSI is used. By default "Win32::Console::ANSI" converts the characters from Windows code page to DOS code page (the so-called ANSI to OEM conversion). This conversation is disabled by default in "Term::Choose" but one can enable it by setting this option.

Setting this option to 1 enables the codepage mapping offered by Win32::Console::ANSI.

0 - disable automatic codepage mapping (default)

1 - keep automatic codepage mapping

default: 0

color

Enables the support for color and text formatting escape sequences for the prompt string and the info text.

0 - off

1 - on

default: 0

default

Set a initial value of input.

hide_cursor

0 - disabled

1 - enabled

default: 1

info

Expects as is value a string. If set, the string is printed on top of the output of "readline".

no_echo

0 - the input is echoed on the screen.

1 - ""*"" are displayed instead of the characters.

2 - no output is shown apart from the prompt string.

default: 0

show_context

Display the input that does not fit into the "readline" before or after the "readline".

0 - disable show_context

1 - enable show_context

default: 0

"fill_form" reads a list of lines from STDIN.

    $new_list = $new->fill_form( $aoa, { prompt => 'Required:' } );

The first argument is a reference to an array of arrays. The arrays have 1 or 2 elements: the first element is the key and the optional second element is the value. The key is used as the prompt string for the "readline", the value is used as the default value for the "readline" (initial value of input).

The optional second argument is a hash-reference. The keys/options are

auto_up

0 - if the cursor is on a data row (that means not on the "back" or "confirm" menu entry) pressing "ENTER" moves the cursor to the next row. If "ENTER" is pressed when the cursor is on the last data row the cursor jumps to the first data row. The initially cursor position is on the first data row.

1 - if the cursor is on a data row pressing "ENTER" moves the cursor to the next row unless the cursor is on the last data row. Then pressing "ENTER" moves the cursor to the "back" menu entry (the menu entry on the top of the menu). The initially cursor position is on the "back" menu entry.

2 - if the cursor is on a data row pressing "ENTER" moves the cursor to the "back" menu entry. The initially cursor position is on the "back" menu entry.

default: 1

back

Set the name of the "back" menu entry.

The "back" menu entry can be disabled by setting back to an empty string.

default: "Back"

clear_screen

If enabled, the screen is cleared before the output.

0 - off

1 - on

default: 0

codepage_mapping

This option has only meaning if the operating system is MSWin32.

If the OS is MSWin32, Win32::Console::ANSI is used. By default "Win32::Console::ANSI" converts the characters from Windows code page to DOS code page (the so-called ANSI to OEM conversion). This conversation is disabled by default in "Term::Choose" but one can enable it by setting this option.

Setting this option to 1 enables the codepage mapping offered by Win32::Console::ANSI.

0 - disable automatic codepage mapping (default)

1 - keep automatic codepage mapping

default: 0

color

Enables the support for color and text formatting escape sequences for the form-keys, the "back"-string, the "confirm"-string, the info text and the prompt text.

0 - off

1 - on

default: 0

confirm

Set the name of the "confirm" menu entry.

default: "Confirm"

hide_cursor

0 - disabled

1 - enabled

default: 1

info

Expects as is value a string. If set, the string is printed on top of the output of "fill_form".

prompt

If prompt is set, a main prompt string is shown on top of the output.

default: undefined

read_only

Set a form-row to read only.

Expected value: a reference to an array with the indexes of the rows which should be read only.

default: empty array

To close the form and get the modified list (reference to an array or arrays) as the return value select the "confirm" menu entry. If the "back" menu entry is chosen to close the form, "fill_form" returns nothing.

Requires Perl version 5.10.0 or greater.

It is required a terminal which uses a monospaced font.

Unless the OS is MSWin32 the terminal has to understand ANSI escape sequences.

It is required to use appropriate I/O encoding layers. If the encoding layer for STDIN doesn't match the terminal's character set, "readline" will break if a non ascii character is entered.

You can find documentation for this module with the perldoc command.

    perldoc Term::Form

Matthäus Kiem <cuer2s@gmail.com>

Thanks to the Perl-Community.de <http://www.perl-community.de> and the people form stackoverflow <http://stackoverflow.com> for the help.

Copyright 2014-2022 Matthäus Kiem.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For details, see the full text of the licenses in the file LICENSE.

2022-03-23 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.