NAME
Lingua::EN::Conjugate - Conjugation of English verbs
SYNOPSIS
use Lingua::EN::Conjugate qw( conjugate conjugations ); use Data::Dumper;
# scalar context with tense and pronoun defined as scalars,
#returns a scalar
my $walk = conjugate( 'verb'=>'walk',
'tense'=>'perfect_prog',
'pronoun'=>'he' );
print $walk . "\n";
# scalar context with tense and pronoun undefined or defined
#as array refs, returns a hashref
my $go = conjugate( 'verb'=>'go',
'tense'=>[qw(past modal_perf)],
'modal'=>'might not' ) ;
print Dumper($go);
# array context, returns an array of conjugated forms
my @be = conjugate( 'verb'=>'be',
'pronoun'=>[qw(I we)],
'tense'=>'past_prog' );
print join("\n", @be);
print conjugations( 'verb'=>'walk' );
DESCRIPTION
This module conjugates English verbs.
Thanks to Susan Jones for the list of irregular verbs and an explanation of English verb tenses: http://www2.gsu.edu/~wwwesl/egw/grlists.htm.
present -> we drive
present_prog -> we are driving
past -> we drove
past_prog -> we were driving
perfect -> we have driven
past_perfect -> we had driven
perfect_prog -> we have been driving
past_perfect_prog -> we had been driving
modal -> we will drive
modal_prog -> we will be driving
modal_perf -> we will have driven
modal_perf_prog -> we will have been driving
conjunctive_present -> we drive
imperative -> let's drive
See http://www.englishclub.com/grammar/verbs-modals_can.htm.
- conjugate()
-
this conjugates a verb.
- conjugations()
-
returns a pretty-printed table of conjugations. (code stolen from L<Lingua::IT::Conjugate>)
EXPORT
None by default. You can export the following functions and variables:
conjugate
@tenses
@pronouns
BUGS
HISTORY
- 0.1
-
Original version -- no guarantees.
- 0.2
-
Added a stop-list for words that shouldn't have the final consonant doubled when adding -ed or -ing.
- 0.21
-
nothin much, just fixing the documentation...
AUTHOR
Russ Graham, russgraham@gmail.com
SEE ALSO
perl(1).