#!/usr/bin/perl # concordance.pl - a simply text analysis tool # Eric Lease Morgan # June 9, 2010 - a quick hack # June 22, 2010 - added additional command line argument # configure use constant RADIUS => 40; use constant SORT => 'right'; # require use Lingua::Concordance; use strict; # santity check my $corpus = $ARGV[ 0 ]; my $query = $ARGV[ 1 ]; if ( ! $corpus or ! $query ) { print "Usage: \n"; exit; } # do the work my $concordance = Lingua::Concordance->new; $concordance->text( &slurp( $corpus )); $concordance->radius( RADIUS ); $concordance->query( $query ); $concordance->sort( SORT ); foreach ( $concordance->lines ) { print "$_\n" } # read the CORPUS sub slurp { # open a file named by the input and return its contents my $f = shift; my $r; open F, $f or die "Can't slurp: $!\n"; $r = do { local $/; }; return $r; }