#!/usr/bin/perl

# Typical example of using the module in a presentation...

use Lingua::LinkParser;

{
    local $| = 1;
    print "loading analyser...";
    $parser = new Lingua::LinkParser;
    print "done\n";
}

use IO::Prompt;

$parser->opts(
    'verbosity'           => 0,
    'max_sentence_length' => 70,
    'panic_mode'          => 1,
    'max_parse_time'      => 30,
    'linkage_limit'       => 1000,
    'short_length'        => 10,
    'disjunct_cost'       => 2,
    'min_null_count'      => 0,
    'max_null_count'      => 0,
);

while (prompt "> ", -clearfirst) {
    my $sentence = $parser->create_sentence($_);

    if ($sentence->num_linkages == 0) {
        $parser->opts(
            'min_null_count' => 1,
            'max_null_count' => $sentence->length
        );

        $sentence = $parser->create_sentence($_);
        if ($sentence->num_linkages == 0) {
            $parser->opts(
                'disjunct_cost'        => 3,
                'min_null_count'       => 1,
                'max_null_count'       => 30,
                'max_parse_time'       => 60,
                'islands_ok'           => 1,
                'short_length'         => 6,
                'all_short_connectors' => 1,
                'linkage_limit'        => 100
            );
            my $sentence = $parser->create_sentence($_);
        }
    }

    for $i (1 .. $sentence->num_linkages) {
        $linkage = $sentence->linkage($i);
        $linkage->compute_union;
        $sublinkage = $linkage->sublinkage($linkage->num_sublinkages);
        print $parser->get_diagram($sublinkage), "\n";
    }
}

__DATA__ 
__PROMPT__
The issue of gene patents is a vexing one
Patents on genes are a vexed issue
Gene patenting is an issue that vexes     
The vexacious issue is patented genes
Patentable genes vex the issue
Time flies like an arrow


syntax highlighted by Code2HTML, v. 0.9.1