Интересный стиль, потом разберусь
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
<p>Я наал штамповать сайты 1 в сутки и ессно нужно создавать к ним sitemap для ьыстрейшего индексирования ну и вообще это по правилам уже, руками не создашь ессно для 1000 страниц, поэтому пришлось прибегнуть к знаниям перла и написать скрипт который обходит рекурсвино указанную иректорию и оздаёт <strong>sitemap</strong></p>
<div class="codecolorer-container perl mac-classic" style="overflow:auto;white-space:nowrap;width:650px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br /></div></td><td><div class="perl codecolorer" style="white-space:nowrap"><span class="co1">#!/usr/bin/perl</span><br />
<span class="kw2">use</span> warnings<span class="sy0">;</span><br />
<span class="kw2">use</span> strict<span class="sy0">;</span><br />
<br />
<span class="kw1">my</span> <span class="re0">@EXT</span> <span class="sy0">=</span> <a href="http://perldoc.perl.org/functions/qw.html"><span class="kw3">qw</span></a> <span class="br0">(</span>html htm shtml<span class="br0">)</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="br0">(</span><span class="re0">$DOMAIN</span><span class="sy0">,</span> <span class="re0">$START</span><span class="br0">)</span> <span class="sy0">=</span> <span class="br0">(</span><span class="re0">$ARGV</span><span class="br0">[</span>0<span class="br0">]</span><span class="sy0">,</span> <span class="re0">$ARGV</span><span class="br0">[</span>1<span class="br0">]</span><span class="br0">)</span><span class="sy0">;</span><br />
<br />
<span class="kw1">my</span> <span class="re0">$URL</span> <span class="sy0">=</span> <span class="st_h">'<br />
<url><br />
<loc>[!domain][!url]</loc><br />
<lastmod>[!date]</lastmod><br />
<changefreq>weekly</changefreq><br />
</url>'</span><span class="sy0">;</span><br />
<br />
<span class="kw2">sub</span> DATE<br />
<span class="br0">{</span><br />
<span class="kw1">my</span> <span class="br0">(</span><a href="http://perldoc.perl.org/functions/undef.html"><span class="kw3">undef</span></a><span class="sy0">,</span> <a href="http://perldoc.perl.org/functions/undef.html"><span class="kw3">undef</span></a><span class="sy0">,</span> <a href="http://perldoc.perl.org/functions/undef.html"><span class="kw3">undef</span></a><span class="sy0">,</span> <span class="re0">$day</span><span class="sy0">,</span> <span class="re0">$month</span><span class="sy0">,</span> <span class="re0">$year</span><span class="br0">)</span> <span class="sy0">=</span> <a href="http://perldoc.perl.org/functions/localtime.html"><span class="kw3">localtime</span></a><span class="br0">(</span><a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a><span class="br0">)</span><span class="sy0">;</span><br />
<span class="re0">$year</span><span class="sy0">+=</span><span class="nu0">1900</span><span class="sy0">;</span><br />
<span class="re0">$month</span><span class="sy0">++;</span><br />
<span class="re0">$month</span> <span class="sy0">=</span> <span class="st_h">'0'</span><span class="sy0">.</span><span class="re0">$month</span> <span class="kw1">if</span> <span class="re0">$month</span> <span class="sy0"><</span> <span class="nu0">10</span><span class="sy0">;</span><br />
<span class="re0">$day</span> <span class="sy0">=</span> <span class="st_h">'0'</span><span class="sy0">.</span><span class="re0">$day</span> <span class="kw1">if</span> <span class="re0">$day</span> <span class="sy0"><</span> <span class="nu0">10</span><span class="sy0">;</span><br />
<a href="http://perldoc.perl.org/functions/return.html"><span class="kw3">return</span></a> <span class="re0">$year</span><span class="sy0">.</span><span class="st_h">'-'</span><span class="sy0">.</span><span class="re0">$month</span><span class="sy0">.</span><span class="st_h">'-'</span><span class="sy0">.</span><span class="re0">$day</span><span class="sy0">;</span><br />
<span class="br0">}</span><br />
<br />
<span class="kw1">my</span> <span class="re0">$DATE</span> <span class="sy0">=</span> DATE<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span><br />
<br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st_h">'<?xml version="1.0" encoding="UTF-8"?><br />
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'</span><span class="sy0">;</span><br />
<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a><span class="br0">(</span><span class="kw1">my</span> <span class="re0">@DIR</span><span class="sy0">,</span> <span class="re0">$START</span><span class="br0">)</span><span class="sy0">;</span><br />
<br />
<span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$DIR</span> <span class="br0">(</span><span class="re0">@DIR</span><span class="br0">)</span><br />
<span class="br0">{</span><br />
<a href="http://perldoc.perl.org/functions/opendir.html"><span class="kw3">opendir</span></a><span class="br0">(</span>DIR<span class="sy0">,</span> <span class="re0">$DIR</span><span class="br0">)</span> <span class="sy0">||</span> <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">@ls</span> <span class="sy0">=</span> <a href="http://perldoc.perl.org/functions/readdir.html"><span class="kw3">readdir</span></a><span class="br0">(</span>DIR<span class="br0">)</span><span class="sy0">;</span><br />
<a href="http://perldoc.perl.org/functions/closedir.html"><span class="kw3">closedir</span></a><span class="br0">(</span>DIR<span class="br0">)</span><span class="sy0">;</span><br />
<br />
<span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$u</span> <span class="br0">(</span><span class="re0">@ls</span><span class="br0">)</span><br />
<span class="br0">{</span><br />
<span class="kw1">next</span> <span class="kw1">if</span> <span class="br0">(</span><span class="re0">$u</span><span class="sy0">=~/^.</span><span class="co5">$/</span> <span class="sy0">||</span> <span class="re0">$u</span><span class="sy0">=~/^..</span><span class="co5">$/</span><span class="br0">)</span><span class="sy0">;</span><br />
<span class="kw1">if</span><span class="br0">(</span><a href="http://perldoc.perl.org/functions/opendir.html"><span class="kw3">opendir</span></a><span class="br0">(</span>tDIR<span class="sy0">,</span> <span class="re0">$DIR</span><span class="sy0">.</span><span class="re0">$u</span><span class="sy0">.</span><span class="st_h">'/'</span><span class="br0">)</span><span class="br0">)</span><br />
<span class="br0">{</span><br />
<a href="http://perldoc.perl.org/functions/closedir.html"><span class="kw3">closedir</span></a><span class="br0">(</span>tDIR<span class="br0">)</span><span class="sy0">;</span><br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="br0">(</span><span class="re0">@DIR</span><span class="sy0">,</span> <span class="re0">$DIR</span><span class="sy0">.</span><span class="re0">$u</span><span class="sy0">.</span><span class="st_h">'/'</span><span class="br0">)</span><span class="sy0">;</span><br />
<span class="br0">}</span><br />
<span class="kw1">else</span><br />
<span class="br0">{</span><br />
<span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$ext</span> <span class="br0">(</span><span class="re0">@EXT</span><span class="br0">)</span><br />
<span class="br0">{</span><br />
<span class="kw1">if</span> <span class="br0">(</span><span class="re0">$u</span><span class="sy0">=~/</span><span class="re0">$ext</span><span class="sy0">/</span><span class="br0">)</span><br />
<span class="br0">{</span><br />
<span class="kw1">my</span> <span class="re0">$tmp</span> <span class="sy0">=</span> <span class="re0">$URL</span><span class="sy0">;</span><br />
<span class="kw1">my</span> <span class="re0">$url</span> <span class="sy0">=</span> <span class="re0">$DIR</span><span class="sy0">.</span><span class="re0">$u</span><span class="sy0">;</span><br />
<span class="re0">$url</span><span class="sy0">=~</span><a href="http://perldoc.perl.org/functions/s.html"><span class="kw3">s</span></a><span class="sy0">/</span><span class="re0">$START</span><span class="sy0">//;</span><br />
<span class="re0">$tmp</span><span class="sy0">=~</span><a href="http://perldoc.perl.org/functions/s.html"><span class="kw3">s</span></a><span class="sy0">/</span><span class="br0">[</span><span class="sy0">!</span>url<span class="br0">]</span><span class="sy0">/</span><span class="re0">$url</span><span class="sy0">/;</span><br />
<span class="re0">$tmp</span><span class="sy0">=~</span><a href="http://perldoc.perl.org/functions/s.html"><span class="kw3">s</span></a><span class="sy0">/</span><span class="br0">[</span><span class="sy0">!</span>domain<span class="br0">]</span><span class="sy0">/</span><span class="re0">$DOMAIN</span><span class="sy0">/;</span><br />
<span class="re0">$tmp</span><span class="sy0">=~</span><a href="http://perldoc.perl.org/functions/s.html"><span class="kw3">s</span></a><span class="sy0">/</span><span class="br0">[</span><span class="sy0">!</span>date<span class="br0">]</span><span class="sy0">/</span><span class="re0">$DATE</span><span class="sy0">/;</span><br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="re0">$tmp</span><span class="sy0">;</span><br />
<span class="kw1">last</span><span class="sy0">;</span><br />
<span class="br0">}</span><br />
<span class="br0">}</span><br />
<span class="br0">}</span><br />
<span class="br0">}</span><br />
<span class="br0">}</span><br />
<br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">"<span class="es0">n</span>"</span><span class="sy0">,</span><span class="st_h">' </urlset>'</span><span class="sy0">,</span><span class="st0">"<span class="es0">n</span>"</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<div style="clear:both;"></div>
вот такая хрень должна получиться:
P.S. Copy Paste ^.^ подсмотрел на одном сайте. Хотя такой стиль оформления кода на многих сайтах.
05 ноября 2009 | Рубрика: Задумки
Раздел
Календарь
-
Сегодня
17 Марта 2026, ВторникПН ВТ СР ЧТ ПТ СБ ВС 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31