如何指定文件中更改URL地址「特等」到「.EN」和例如倒數第二「.COM」爲「.ORG」的perl如何在文本文件中更改URL
結束: http://www.addres.pl 變化: http://www.addres.en
如果在ADDRES存在這樣 http://www.addres.com.pl 變化: http://www.addres.org.en
,如果它看起來像這個 http://www.addres.com.ru 那麼只有.com更改文本文件輸入 http://www.addres.org.ru
例如:控制檯輸出的
http://www.addres.org.en
http://www.addres.com.pl
http://www.addre.pl
http://www.addres.en
http://www.addres.ru
http://com ddd http://www.com.pl.com.pl.com.pl.com.pl
aaa http://www.addres.com.pl! bbb
ccc (http://www.addre.pl) ddd
例如:
http://www.addres.org.en
http://www.addres.org.en
http://www.addre.en
http://www.addres.en
http://www.addres.ru
http://com ddd http://www.com.pl.com.pl.com.pl.org.en
aaa http://www.addres.org.en! bbb
ccc (http://www.addre.en) ddd
現在我有這樣的檢查,如果輸入的是文件
#!/usr/bin/perl
use warnings;
use strict;
use File::Find;
if (($#ARGV+1 != 1)||(! -f $ARGV[0]))
{
print "podaj plik\n";
exit 1;
}
#!/usr/local/bin/perl
open (MYFILE, $ARGV[0]);
while (<MYFILE>) {
chomp;
my $url = $_;
for ($url) {
#s|(com)(.??)|org$2| and last;
s|com.pl|org.en| and last;
s|com[.]|org.| and last;
s|[.]pl|.en|;
}
print "$url\n";
}
close (MYFILE);
exit 0;
如何使這個
s|com[.]ru|org.ru| and last;
改變這樣
s|com[.]??|org.??| and last;
所有ADDRES?可以是例如RU,或者連接或所有其他人則PL
這看起來像是簡單的使用's ///'操作符。顯示你的嘗試。 – Barmar 2013-05-06 17:10:37
現在我只需輸入它的文件即可,im剛剛啓動的新文件 – Vardius 2013-05-06 17:15:31
這與問題有什麼關係?顯示打開並讀取文件的代碼。 – Barmar 2013-05-06 17:19:24