2009年11月5日星期四

[PerlChina] Re: 请教下,perl如何在替换文件里的字符串并写回文件

一次讀取、寫入的方法,但建議自行加上備份功能吧
$/ = undef;
open (my $fp, '+<', 'temp.txt');
my $tmp = <$fp>;
$tmp =~ s/\$//sg;
$/ = "\n";
seek ($fp, 0, 0);
print $fp $tmp;
truncate ($fp, tell ($fp));
close ($fp);


-------- Original Message --------
Subject: [PerlChina] Re: 请教下,perl如何在替换文件里的字符串并写回文件
From: woosley. xu. <redicaps@gmail.com>
To: perlchina@googlegroups.com
Date: 5/11/2009 15:48
> -i本来就是这样,创建一个backup文件
>
> Tie::File挺好的
>
> 2009/11/5 Ruixian Zhu <zhurx4g@gmail.com <mailto:zhurx4g@gmail.com>>
>
> *E:\qtstudy\chmcreator\replacer>perl -i -pe "s/abc/abcasdasd/g"
> 3376815.Htm
> Can't do inplace edit without backup.*
>
> 我机器上不支持这个 -i参数。我在window上用的activeperl,是不是不支持啊?
>
> perl -i.bak -n -pe "s/Ku/abc/g" 3376815.Htm
> 这样就可以了,不过还是有临时文件存在3376815.Htm.bak
>
>
> 2009/11/5 Rainbird <chinakapalink@gmail.com
> <mailto:chinakapalink@gmail.com>>
>
> 感觉而已,试下才知道嘛,
>
> 2009/11/5 Qiang (James) <shijialee@gmail.com
> <mailto:shijialee@gmail.com>>
>
> Ruixian Zhu wrote:
> > 我现在用的WangKevin的办法,要有多个关键字要替换,我感觉
> perl -i -pe 's/root/rainbird/g' passwd
> > ,可能要多次打开文件,效率低些。
> >
>
> 每个替换对应一个 s///; 不就可以了。 Perl 命令行的用途还是
> 很多的,建议看
> 看这篇文章
> http://wiki.perlchina.org/Perl命令行应用介绍
>
> Qiang
>
> >
> > 2009/11/5 Rainbird <chinakapalink@gmail.com
> <mailto:chinakapalink@gmail.com>>:
> >> perl -i -pe 's/root/rainbird/g' passwd
> >> 希望你能从这句话中得到灵感:)
> >>
> >> 2009/11/5 Ruixian Zhu <zhurx4g@gmail.com
> <mailto:zhurx4g@gmail.com>>
> >>> 好 多谢
> >>>
> >>> 2009/11/5 WangKevin <kevin-w-sh@hotmail.com
> <mailto:kevin-w-sh@hotmail.com>>:
> >>>> 直接写回去就覆盖了
> >>>>
> >>>> undef $/;
> >>>>
> >>>> open FILE, $filepath;
> >>>> $C = <FILE>;
> >>>> close FILE;
> >>>> $/="\n";
> >>>>
> >>>> $C =~ s/str1/str2/gi
> >>>>
> >>>> open( FILE, ">$filepath");
> >>>>
> >>>> print FILE $C;
> >>>> close(FILE);
> >>>>
> >>>> 你也可以试试 >+
> >>>> 打开一次看行不行
> >>>>
> >>>>
> >>>> MALA WANG
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> ________________________________
> >>>> Date: Thu, 5 Nov 2009 13:40:00 +0800
> >>>> Subject: [PerlChina] Re: 请教下,perl如何在替换文件里
> 的字符串并写回文件
> >>>> From: smallfish.xy@gmail.com
> <mailto:smallfish.xy@gmail.com>
> >>>> To: perlchina@googlegroups.com
> <mailto:perlchina@googlegroups.com>
> >>>>
> >>>> 替换完直接把内容写入当前文件就可以了
> >>>> --
> >>>> http://pythonchina.org
> >>>> http://hi.baidu.com/smallfish_xy
> >>>>
> >>>>
> >>>> 2009/11/5 Nestle <zhurx4g@gmail.com
> <mailto:zhurx4g@gmail.com>>
> >>>>
> >>>> 请教下,perl如何在替换文件里的字符串并写回文件。我现
> 在的做法是,打开一个文件,替换内容,写到新文件,最后删除旧
> 文件,用原文件名重新命名新文
> >>>> 件,有没有直接写回的办法?我不想创建新的文件。
> >>>>
> >>>>
> >>>>
> >>>
> >>
> >>
> >> --
> >> 态度决定高度,技术成就梦想
> >>
> >
> > >
>
>
>
>
>
>
> --
> 态度决定高度,技术成就梦想
>
>
>
>
>
>
>
>
> --
> Woosley.Xu
>
>
>
>
> >

--
Best Regards,
Anthony WU


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

[PerlChina] Re: 请教一个bioinformatics问题――质粒作图

GD有個style叫gdEdged,建議看看 libgd 的文檔
用法
$img->filledArc ($cx, $cy, $x , $y, int ($olds / $sum * 360), int
(($olds + $in) / $sum * 360), $color[$i], gdEdged);

-------- Original Message --------
Subject: [PerlChina] Re: 请教一个bioinformatics问题——质粒作图
From: Fangyuan <chengfangyuan2008@gmail.com>
To: PerlChina Mongers 讨论组 <perlchina@googlegroups.com>
Date: 5/11/2009 13:12
> 恩,非常感谢。
> 我先试试自己做。
>
> 谢谢啦!
>
> On 11月5日, 下午1时02分, "Jester"<jes...@perlchina.org> wrote:
>
>> 这两天太忙,周末我再仔细找找,可能在我原来的电脑上。
>> 思路嘛,很简单的,根据基因组大小和每个基因的坐标计算相对位置,
>> 然后换算成360度的角度位置,用你的平面几何知识算出在图上的坐标,画filledPolygen(好像是这个函数名,好久没用了)
>>
>> Jester,jes...@perlchina.org
>> 2009-11-05
>>
>> ----- Original Message -----
>> From: Fangyuan
>> To: PerlChina Mongers 讨论组
>> Sent: 2009-11-04, 17:36:57
>> Subject: [PerlChina] Re: 请教一个bioinformatics问题----质粒作图
>>
>>
>>> Jester,
>>>
>>> 这张图很酷呀,正是我想想的类型。请问这张图是你用GD写的程序得到的结果吗?
>>>
>>> 很希望能看到你的源程序,呵呵,这样做起来就容易多了。
>>>
>>> 不知你能否提示下具体的思路。
>>>
>>> 谢谢你的回复 !
>>>
> >
>

--
Best Regards,
Anthony WU


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

[PerlChina] Re: 请教, 这样是不是多个关键字在文件中替换的最优方法?

               $_=$C;
为什么还用这个呢?下面不是有瞄定符了吗?

用s///mgi会不会更好点呢,多行替换?不清楚,还是perl新手 

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

[PerlChina] 请教, 这样是不是多个关键字在文件中替换的最优方法?

这样是不是文件多个关键字替换的最佳方法

sub replaceInFile{
print "Process File:".$_[0]."\n";
undef $/;
open TARGET_FILE,$_[0];
$C = <TARGET_FILE>;
close TARGET_FILE;
$/="\n";

$count=0;
while($count<scalar(@keyword)){
$_=$C;
$C =~ s/@keyword[$count]/@replacekeyword[$count]/gi;
$count++;
}

open( FILE, ">$_[0]");
print FILE $C;
close(FILE);
}
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

[PerlChina] Re: 寻找更快的数据搜寻方案

100w个key对现在的机器来说仿佛是个挺小的数目啊,不用考虑内存消耗。。  

如果value很长,可以把value存入数组,hash里存下标
----------------------------------
msmouse@ir.hit.edu.cn
msmouse@gmail.com


2009/11/5 <alexe.cn@gmail.com>
Hi all,

我现在需要将大约100万条记录存储到hash中,然后在这个hash中查找某一个数据,或者删除某个数据。
因为hash本身遇到这么大的数据量不占优势,例如会比数据本身多占用更多的内存,数据量太大以后搜索的速度并不是很快等等

谁有更好的Perl方案适合这种项目?



Thank You,
Alexe




--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

[PerlChina] 寻找更快的数据搜寻方案

Hi all,

我现在需要将大约100万条记录存储到hash中,然后在这个hash中查找某一个数据,或者删除某个数据。
因为hash本身遇到这么大的数据量不占优势,例如会比数据本身多占用更多的内存,数据量太大以后搜索的速度并不是很快等等

谁有更好的Perl方案适合这种项目?



Thank You,
Alexe

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

[PerlChina] Re: 求教mech

Thanks for the conclusion,
Best regards

On Nov 5, 9:22 pm, Fayland Lam <fayl...@gmail.com> wrote:
> a tip that WWW::Mechanize doesn't handle the js.
> so you need do the js part manually.
>
> Thanks

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---