2011年12月9日星期五

Re: [PerlChina] Re: 急问!同样的程序不能say OUT到file但是可以say到screen这是为什么啊

�下是C/Java程序�? �不是很有Perl程序��有的那��格啊.

在 2011年11月28日 上午9:53,mandova <mandova1005@yahoo.cn> 写道:
> z这样呀~
>
> #!usr/bin/perl -w
> use 5.010;
>
>
> $a[0][1]=0.1; $a[0][2]=0.2; $a[0][3]=0.6; $a[0][4]=0.1; # 4
> starting probs
> $a[1][0]=0.1; $a[2][0]=0.2; $a[3][0]=0.6; $a[4][0]=0.1; # 4 ending
> probs
> $a[1][1]=0.1; $a[1][2]=0.7; $a[1][3]=0.1; $a[1][4]=0.1;
> $a[2][1]=0.1; $a[2][2]=0.75; $a[2][3]=0.1; $a[2][4]=0.05;
> $a[3][1]=0.3; $a[3][2]=0.2; $a[3][3]=0.4; $a[3][4]=0.1;
> $a[4][1]=0.2; $a[4][2]=0.2; $a[4][3]=0.4; $a[4][4]=0.2;
>
> @lamda=(0,1,8,4,30);
>
> sub Poi # $_[0] is lambda, $_[1] is x.
> {
> $aa=exp(-$_[0])*$_[0]**$_[1];
> if($_[1]>1)
> {
> foreach $frac(1..$_[1]) { $aa=$aa/$frac; }
> }
> $aa;
> }
>
> if(!open OUT, ">", "nor_debug") { die "can't open processing middle
> file for nor!"; }
>
> $delta=1;
> $itr=1;
> while(($delta>0.00001)&&($itr<100000))
> {
> say OUT "begin itr: $itr";
> foreach $ch(1..22)
> {
> if(!open IN, "<", "nor$ch.fs") { die "can't open full sites for
> chromosome $ch!"; }
>
>
> @x=(0);
> $L=0;
> while(<IN>)
> {
> chomp;
> if(/\d+\t(\d+)/) { push(@x,$1); $L++;}
> }
> close IN;
> @s=();
> @f=();
> $f[0][0]=1; $f[1][0]=0; $f[2][0]=0; $f[3][0]=0; $f[4][0]=0;
> $s[0]=1;
> foreach $m(1..4)
> {
> $f[$m][1] += &Poi($lamda[$m],$x[1]) * $a[0][$m];
> $s[1] += $f[$m][1];
> }
> foreach $m(1..4)
> {
> $f[$m][1]/=$s[1];
> }
>
> foreach $i(2..$L)
> {
> $im=$i-1;
> foreach $k(1..4)
> {
> foreach $q(1..4)
> {
> $f[$k][$i] += $f[$q][$im] * $a[$q][$k];
> }
> $f[$k][$i] *= &Poi($lamda[$k],$x[$i]);
> $s[$i] += $f[$k][$i];
> }
> foreach $k(1..4)
> {
> $f[$k][$i]/=$s[$i];
> }
> }
>
> foreach $k(1..4) # calcu P(X)!
> {
> $px+=$f[$k][$L]*$a[$k][0];
> }
> say OUT "finished XX for chromosome $ch!";
> ......
>
> 呐,就两个say之间,砍到while后面没有,while里面什么也不做的时候就可以say OUT了。。。
> ps那个f[$k]是一个有150w个以上的分量的数组,我算到100万多一点的时候就变成-NaN了。。。。。。这又是另一个问题了。。。。。
>
> On 11月27日, 下午9时31分, cnhack TNT <cnhack...@gmail.com> wrote:
>> 额。。。麻烦多贴些相关代码成么? 不然要大家瞎子摸黑怎么个帮法儿?
>> 你都说了,砍掉一些语句就有输出了,那不就是你砍掉的语句有问题么,贴上来分析分析不就清楚了?
>>
>> 2011/11/27 mandova <mandova1...@yahoo.cn>
>>
>>
>>
>> > if(!open OUT,">","<文件名>" ) { die "..."; }
>> > 一直都是这样写的页没有出问题。。。程序一开始运行就应该有一个输出的,但是say OUT没有,如果只是say就有在屏幕上。我把两个应该有输出的地
>> > 方之间的语句砍到一定程度就可以say OUT了。。。
>>
>> > On 11月27日, 下午8时31分, 昨夜星尘 <chun191...@gmail.com> wrote:
>> > > 你的OUT是怎么定义的?定义错误也会出现这种情况。写文件用不了多少内存。
>>
>> > > On 11月27日, 下午4时28分, mandova <mandova1...@yahoo.cn> wrote:
>>
>> > > > 我一直是这样写的,没有用过STDOUT,不知为什么这个程序就不行了。我试着把两个输出之间的语句减少看是否能够输出,答案是可以的(但是是没有任何
>> > > > 道理啊。。)
>> > > > 中间语句多到一定程度就不能写到文件里(文件始终为空),而我把OUT去掉就一直会持续地在屏幕上有输出。
>> > > > 我现在觉得是内存的问题。。。因为中间处理的数据很大。不了解写文件的动作要占用多少内存,似乎是压死骆驼的那最后一根稻草。。
>>
>> > > > On 11月27日, 下午3时26分, Robin Lee <robinlee.s...@gmail.com> wrote:
>>
>> > > > > 应该改成 STDOUT ?
>>
>> > > > > 2011/11/27 mandova <mandova1...@yahoo.cn>
>>
>> > > > > > 改成print也不行,文件打开没有报错,就是死活写不进文件啊~~~把OUT去掉就可以写在屏幕上。。。。- 隐藏被引用文字 -
>>
>> > > > > - 显示引用的文字 -- 隐藏被引用文字 -
>>
>> > > - 显示引用的文字 -
>>
>> > --
>> > 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> > 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
>> > 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
>> > 若有更多问题,请通过http://groups.google.com/group/perlchina?hl=zh-CN访问此网上论坛。- 隐藏被引用文字 -
>>
>> - 显示引用的文字 -
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
Ya Shou
zxyzxy12321@gmail.com
http://54c3.tk

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年12月8日星期四

[PerlChina] 如何通过perl快捷的判断服务器时间是否同步

大家好

我现在有这么一个问题,想通过perl脚本来实现检查linux服务器的时钟是否与ntp服务器同步,如果同步了,需要判断是否正常?


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 答复: Perl 的键盘编程

用win32::GUITest就可以实现,原来就是这么简单.
那窗口的信息怎么获取呢?
然后指定打开那个窗口~



-- Sent from my HP Veer


jiemaoshangdewu@gmail.com<jiemaoshangdewu@gmail.com>于2011-12-8 20:23写道:

怎么样才能实现在windows里,运行一个脚本,就相当于按下键盘上的一个键,如"F1".
要用API吗
还是POE呢

-- Sent from my HP Veer



--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 2011 CN Perl Advent Day 8: Template::Mustache

http://perlchina.github.com/advent.perlchina.org/2011/TemplateMustache.html 

=for advent_year 2011

=for advent_day 8

=for advent_title Template::Mustache

=for advent_author Beckheng Lam

M<Template::Mustache>是一个模板模块,它是mustache (http://mustache.github.com/) 的Perl实现版本. 
mustache的语法相当简洁, 有多个编程语言 (.NET, JavaScript, PHP, Python, Ruby, Java等)的实现. 因而能在多个语言中共享一个模板内容, 传入相应的数据即可. 不可过分依赖这种情形.
当然Template::Mustache的安装也较容易. 但要求Perl 5.8或之后的版本.

安装模块, 有时我会用cpanp (M<CPANPLUS>), 有时会用cpanm (M<App::cpanminus>), 这次使用前者:
cpanp -i Template::Mustache

详细请参阅CPAN: M<Template::Mustache>, 下面是小例子:

=begin code

use strict;

use Template::Mustache;

my $tmpl = Template::Mustache->new();

my $strTemplateContent = "Hello {{name}}!\n";

print $tmpl->render($strTemplateContent, { 'name' => 'Beckheng' });
#output:
#Hello Beckheng!

my $strTemplateContent2 = "Person:\n{{#person}}  {{name}}, {{age}}\n{{/person}}\n";
print $tmpl->render($strTemplateContent2, { 'person' => [
{ 'name' => 'Beckheng', 'age' => 33 },
{ 'name' => 'BB', 'age' => 2 },
] });
#output:
#Person:
#  Beckheng, 33
#  BB, 2

=end code

第一次参与, 谢谢!

--
Fayland Lam // http://www.fayland.org/

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] Perl 的键盘编程

I guess you need   Win32::GuiTest   http://search.cpan.org/dist/Win32-GuiTest/

Regards
Thinkhy

在 2011年12月8日 下午8:22, <jiemaoshangdewu@gmail.com>写道:
怎么样才能实现在windows里,运行一个脚本,就相当于按下键盘上的一个键,如"F1".
要用API吗
还是POE呢

-- Sent from my HP Veer



--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] Perl 的键盘编程

怎么样才能实现在windows里,运行一个脚本,就相当于按下键盘上的一个键,如"F1".
要用API吗
还是POE呢

-- Sent from my HP Veer



--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年12月7日星期三

Re: [PerlChina] 2011 CN Perl Advent Day 7: Imager::QRCode

很不错呀

2011/12/7 Fayland Lam <fayland@gmail.com>:
> http://perlchina.github.com/advent.perlchina.org/2011/Imager_QRCode.html
>
> =for advent_year 2011
>
> =for advent_day 7
>
> =for advent_title Imager::QRCode
>
> =for advent_author CGI.NET
>
> M<Imager::QRCode> 有趣的二位码生成模块。
>
> 随着电子商务的兴起,二维码这种东西越来越多的出现在我们的生活中,想不想给你的用户也拥有一份属于自己网站的二维码呢?那用Imager::QRCode就没错了。
>
> Imager::QRCode是一套基于开源二维码生成库libqrencode的模块,这两个的作者都是日本人。
>
> Imager::QRCode自带了libqrencode的源码,并且在安装的时候会自动编译,所以你不用去专门下载libqrencode而只需要使用CPAN正常安装即可。
>
> 需要说明的是Imager::QRCode依赖Imager模块,并且生成的图片格式也是依赖Imager模块能产生的格式。所以如果你希望生成GIF格式的文件却发现没有任何效果不妨先检查下你所装的Imagerm模块是否能正常生成GIF格式的文件。
>
>
> Imager::QRCode使用的方法非常简单:
>
> =begin code
>
> #!/usr/bin/perl -w
> use Imager::QRCode;
> my $qrcode = Imager::QRCode->new(
> size => 2,
> margin => 2,
> version => 1,
> level => 'M',
> casesensitive => 1,
> lightcolor => Imager::Color->new(255, 255, 255),
> darkcolor => Imager::Color->new(0, 0, 0),
> );
> my $img = $qrcode->plot("You infomation here!");
> $img->write(file => 'qrcode.gif', type=>'gif') or die $img->errstr;
>
> =end code
>
> 有关Libqrencode的信息可以访问 L<http://fukuchi.org/works/qrencode/index.html.en>
> 更多的使用方法请参阅 perldoc M<Imager::QRCode>。
>
> 谢谢。
>
>
> --
> Fayland Lam // http://www.fayland.org/
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。