当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : google 字典perl 脚本
帖子发表于 : 2010-10-23 17:06 

注册: 2007-05-09 6:50
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
依赖:w3m
用法:dict.pl someword
代码:
#!/usr/bin/env perl

use strict;
use warnings;

sub usage {
    print "$0 someword\n";
    exit 1;
}
&usage if (@ARGV < 1);
my $word = $ARGV[0];

$_ = `w3m -cookie -dump 'http://www.google.com.hk/dictionary?langpair=en|zh-CN&q=$word&hl=zh-CN' 2>/dev/null`
    or die "Network Error!\n";

if (/(^在.*找到.*)^更多.*»/ms){
    print $1;
}else {
    warn "Invalued word!\n";
    exit 1;
}


_________________
我的博客:关注Linux 企业应用,桌面折腾,python,perl,shell


页首
 用户资料  
 
2 楼 
 文章标题 : Re: google 字典perl 脚本
帖子发表于 : 2010-10-23 19:41 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
代码:
☛ cat bin/g-translate.pl
#!/usr/bin/perl

$icon="$ENV{HOME}/图片/图标/国旗/cn-en-128.png";
#$icon="/home/exp/.icons/Mashup/apps/config-language.png";
use Getopt::Long;
GetOptions('n'=>\$notify);
my $out,$in,$str;
# 无参数时,使用剪贴板内容。
$in=join('+',@ARGV);if(!$in){$in=`xsel -o`;} if(!$in){exit;}
$in=`echo "$in"|uni2ascii -a J -s`;
$in=~s/ /+/g; $in=~s/["']//g;
chomp $in;
if($in=~/%/){$str="zh-CN%7Cen";}else{$str="en%7Czh-CN";}
$out="curl -e http://www.my-ajax-site.com 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$in&langpair=$str' 2>/dev/null";
$out=`$out`;
$out=~/translatedText":"(.*?)"/;
if($notify){`notify-send -i '$icon' 'google翻译' "$1"`;}
else{print $1;}

我的这个,是加到面板的图标的。lz也试试。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: google 字典perl 脚本
帖子发表于 : 2010-10-23 22:16 

注册: 2007-05-09 6:50
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
代码:
☛ cat bin/g-translate.pl
#!/usr/bin/perl

$icon="$ENV{HOME}/图片/图标/国旗/cn-en-128.png";
#$icon="/home/exp/.icons/Mashup/apps/config-language.png";
use Getopt::Long;
GetOptions('n'=>\$notify);
my $out,$in,$str;
# 无参数时,使用剪贴板内容。
$in=join('+',@ARGV);if(!$in){$in=`xsel -o`;} if(!$in){exit;}
$in=`echo "$in"|uni2ascii -a J -s`;
$in=~s/ /+/g; $in=~s/["']//g;
chomp $in;
if($in=~/%/){$str="zh-CN%7Cen";}else{$str="en%7Czh-CN";}
$out="curl -e http://www.my-ajax-site.com 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$in&langpair=$str' 2>/dev/null";
$out=`$out`;
$out=~/translatedText":"(.*?)"/;
if($notify){`notify-send -i '$icon' 'google翻译' "$1"`;}
else{print $1;}

我的这个,是加到面板的图标的。lz也试试。


这代码,有性格。

咨询个问题,perl 如何实现less 或者 more 的功能,如果超出一页,则自动分页,盼解答。


_________________
我的博客:关注Linux 企业应用,桌面折腾,python,perl,shell


页首
 用户资料  
 
4 楼 
 文章标题 : Re: google 字典perl 脚本
帖子发表于 : 2011-02-24 15:11 
头像

注册: 2009-10-02 15:47
帖子: 257
送出感谢: 0 次
接收感谢: 0 次
好例子

刚开始学perl mark


_________________
爱Linux 也爱Ubuntu
简洁美观的桌面
更爱高效稳定的系统
不是不折腾难受夫斯基不想浪费时间
我和大多数人一样 我是菜菜
我要有菜菜的觉悟
我是Drdi


页首
 用户资料  
 
5 楼 
 文章标题 : Re: google 字典perl 脚本
帖子发表于 : 2011-03-05 13:39 
头像

注册: 2009-10-02 15:47
帖子: 257
送出感谢: 0 次
接收感谢: 0 次
zoujichun 写道:
eexpress 写道:
代码:
☛ cat bin/g-translate.pl
#!/usr/bin/perl

$icon="$ENV{HOME}/图片/图标/国旗/cn-en-128.png";
#$icon="/home/exp/.icons/Mashup/apps/config-language.png";
use Getopt::Long;
GetOptions('n'=>\$notify);
my $out,$in,$str;
# 无参数时,使用剪贴板内容。
$in=join('+',@ARGV);if(!$in){$in=`xsel -o`;} if(!$in){exit;}
$in=`echo "$in"|uni2ascii -a J -s`;
$in=~s/ /+/g; $in=~s/["']//g;
chomp $in;
if($in=~/%/){$str="zh-CN%7Cen";}else{$str="en%7Czh-CN";}
$out="curl -e http://www.my-ajax-site.com 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$in&langpair=$str' 2>/dev/null";
$out=`$out`;
$out=~/translatedText":"(.*?)"/;
if($notify){`notify-send -i '$icon' 'google翻译' "$1"`;}
else{print $1;}

我的这个,是加到面板的图标的。lz也试试。


这代码,有性格。

咨询个问题,perl 如何实现less 或者 more 的功能,如果超出一页,则自动分页,盼解答。




同问!!

还有我想把lz的代码中那段网址截取出来

perl -nwe "/(www.*?)'/;print $1" dict

这样怎么全部都显示出来了呢?

而且我看书上代码段两边是用的单引号 但我只能用双引号不然会出错 :em20


_________________
爱Linux 也爱Ubuntu
简洁美观的桌面
更爱高效稳定的系统
不是不折腾难受夫斯基不想浪费时间
我和大多数人一样 我是菜菜
我要有菜菜的觉悟
我是Drdi


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译