Ceci est une ancienne révision du document !
Yannick_LM
Moi :
Je suis étudiant en dernière année dans une école d'ingénieur. Je suis joignable à l'adresse mail suivante : yannick_LM (chez yahoo.fr), et je traîne assez souvent sur le forum. J'ai découvert Ubuntu il y a déjà plus d'un an, et me suis formé quasiment uniquement grâce à la communauté (la documentation et le forum) Je suis aussi de plus en plus sur #ubuntu-fr (de préférence tard le soir)
Je continue à apprendre sans arrêt, et je ne compte plus m'arrêter…
Quelques rogrammes à découvrir :
Contributions :
- Quelque chose de complètement inutile, donc indispensable : un Big Ben dans votre ordi
- Membre du groupe traducteur d'Ubuntu
- Traduction de la LHU. (venez nous rejoindre !)
- Réécriture d'un script pour irssi (recherche google)
#!/usr/bin/perl -w # - Google.pl use Irssi; use LWP::UserAgent; use strict; use vars qw($VERSION %IRSSI); $VERSION = '1.00'; %IRSSI = ( authors => 'Oddbjørn Kvalsund', contact => 'oddbjorn.kvalsund@hiof.no', name => 'Google', description => 'This script queries google.com and returns the results.', license => 'Public Domain', ); ## Usage: ## /google [-p, prints to current window] [-<number>, number of searchresults returned] search-criteria1 search-criteria2 ... ## ## History: ## - Sun May 19 2002 ## Version 0.1 - Initial release ## ------------------------------- ## Corrected by Yannick LM # - Sat Jan 26 2007 #------------------------------------------------- my $nr_sites = 3; # Search-results returned my $prefix = "Google search:"; # Message printed before results #------------------------------------------------- # Print pages to current window if public-mode specified # else display a private notice of returned pages sub print_results{ my ($witem, $mode, $nr_sites, @lines)=@_; my $i=0; if ($mode eq "public" && $prefix ne "") { $witem->command("/SAY $prefix") } ; while ($i<$nr_sites && $i < 10) { my $line=$lines[$i+3]; #The first three lines are irrelevant if ($line =~ /^\w+\.\w+/) { $line =~ s/\s+.*//g; # We've got an URL if ( $mode eq "public") { $witem->command("/SAY http://$line"); } else { Irssi::active_win()->print("http://$line"); } } else { $nr_sites++; } $i++; } } sub cmd_google { my ($data, $server, $witem) = @_; my $url = ""; my $nr_sites = 3; # my $i = 0; my (@lines, @pages); my $mode = "quiet"; # If user supplied nr_sites, activate his setting if ( $data =~ /-(\d\s)/ ) { $nr_sites = $1 }; if ($data =~ /-10/) { $nr_sites = 10 }; $data =~ s/-\d+//g; # remove nr_sites from $data # Switch to public mode # and return error msg if invalid window if ( $data =~ /-p/ ) { $mode = "public"; if ( ! $witem ) { Irssi::active_win()->print("Must be run run in a valid window (CHANNEL|QUERY)"); return; } } $data =~ s/-p//g; # remove -p from $data # Format the query-string $data =~ s/\s/+/g; my $query = $data; # Initialize LWP my $ua = new LWP::UserAgent; $ua->agent("AgentName/0.1 " . $ua->agent); # Do the actual seach my $req = new HTTP::Request GET => "http://www.google.com/search?hl=en&q=$query"; my $res = $ua->request($req); my $content = $res->content; # Replace <br> with newlines # and remove tags $content =~ s/\<br\>/\n/g; $content =~ s/\<.+?\>//sg; # Make array @lines of all search-results @lines = split("\n", $content); # Dispaly the result according to the mode &print_results($witem, $mode, $nr_sites, @lines); # Irssi::active_win()->print("Jusqu'ici, tout va bien"); } Irssi::command_bind('google', 'cmd_google');