Authen::PAAS::ConsoleCallback - blah


Authen-PAAS documentation Contained in the Authen-PAAS distribution.

Index


Code Index:

NAME

Top

Authen::PAAS::ConsoleCallback - blah

SYNOPSIS

Top

  use Authen::PAAS::ConsoleCallback;

  my $callback = Authen::PAAS::ConsoleCallback->new("Enter username: ");
  my $username = $callback->data;

DESCRIPTION

Top

This provides a callback which prompts for data on STDOUT, and reads a response from STDIN.

METHODS

Top

my $callback = Authen::PAAS::ConsoleCallback->new($label);

Create a new console callback, using the $label parameter as the prompt to display on STDOUT.

my $data = $callback->data;

Displays a prompt on STDOUT (flushing buffers, in case the prompt did not contain a newline). A response is then read from STDIN, with any leading or trailing whitespace is trimmed, before the data is returned

AUTHORS

Top

Daniel Berrange <dan@berrange.com>

COPYRIGHT

Top

SEE ALSO

Top

Authen::PAAS::Callback


Authen-PAAS documentation Contained in the Authen-PAAS distribution.
# -*- perl -*-
#
# Authen::PAAS::ConsoleCallback by Daniel Berrange
#
# Copyright (C) 2004-2006 Dan Berrange
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# $Id: ConsoleCallback.pm,v 1.1 2005/08/21 07:39:37 dan Exp $

package Authen::PAAS::ConsoleCallback;

use base qw(Authen::PAAS::Callback);

use strict;
use warnings;

use IO::Handle;

our $VERSION = '1.0.0';

sub new {
    my $proto = shift;
    my $class = ref($proto) || $proto;
    my $self = $class->SUPER::new();

    $self->{label} = shift;

    bless $self, $class;

    return $self;
}


sub data {
    my $self = shift;

    print $self->{label};
    flush STDOUT;

    my $data = <STDIN>;
    $data =~ s/^\s*//g;
    $data =~ s/\s*$//g;
    return $data;
}

1 # So that the require or use succeeds.

__END__