#!/usr/local/bin/perl =head1 NAME WebService::GoogleHack::Spelling - Retrieves spelling suggestion given a string. =head1 SYNOPSIS use WebService::GoogleHack::Spelling; #create an object of type spelling my $spelling = WebService::GoogleHack::Spelling->new(); #make sure to initialize the correct wsdl file $spelling->init("key","wsdl file"); $results = $spelling->spellingSuggestion($searchString); #$results will be a string containing the suggestion (If there is a suggestion given by Google, otherwise it would be a null variable). #The suggested "correction" string can also be accessed by, #$spelling->{'correction'}; =head1 DESCRIPTION This module interacts with Google to retrieve a spelling suggestion given a string. It is used by the WebService::GoogleHack driver module. =head1 PACKAGE METHODS =head2 __PACKAGE__->new() Purpose: This function creates an object of type Spelling and returns a blessed reference. =head2 __PACKAGE__->init(Key,wsdl_location) Purpose: This this function can used to inititalize the member variables. Valid arguments are : =over 4 =item * B<Key> I<string>. key to the google-api =item * B<wsdl_location> I<string>. This the wsdl file name =back =head2 __PACKAGE__->spellingSuggestion(searchString) Purpose: This is function is used to retrieve a spelling suggestion from Google Valid arguments are : =over 4 =item * B<searchString> I<string>. Need to pass the search string, which can be a single word =back Returns: Returns suggested spelling if there is one, otherwise returns "No Spelling Suggested". =head1 AUTHOR Pratheepan Raveendranathan, E<lt>rave0029@d.umn.eduE<gt> Ted Pedersen, E<lt>tpederse@d.umn.eduE<gt> =head1 BUGS =head1 SEE ALSO L<WebService::GoogleHack home page|http://google-hack.sourceforge.net> L<Pratheepan Raveendranathan|http://www.d.umn.edu/~rave0029/research> L<Ted Pedersen|www.d.umn.edu./~tpederse> Google-Hack Maling List E<lt>google-hack-users@lists.sourceforge.netE<gt> =head1 COPYRIGHT AND LICENSE Copyright (c) 2003 by Pratheepan Raveendranathan, Ted Pedersen 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. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut package WebService::GoogleHack::Spelling; our $VERSION = '0.09'; use SOAP::Lite; sub new { my $this = {}; $this-> {'Key'} = undef; $this-> {'File_Location'} = undef; $this-> {'correction'} = undef; bless $this; return $this; } sub init { my $this = shift; $this->{'Key'} = shift; $this->{'File_Location'} = shift; } sub spellingSuggestion { my $searchInfo=shift; $searchString=shift; $key = $searchInfo->{'Key'}; $wsdl_path =$searchInfo->{'File_Location'}; # Initialize with local SOAP::Lite file $service = SOAP::Lite -> service("file:$wsdl_path"); $correction = $service->doSpellingSuggestion($key,$searchString); if($correction eq "") { $correction="No Spelling Suggested"; } # print "\n\nDid you mean: $correction \n"; $this-> {'correction'} = $correction; return $correction; } 1;