31:(@added,@removed,@addedPre,@removedPre); @addedPre=$ diffContent=~m/<td class="db-ZGlmZi1hZGRlZA"><div>(.*?)<\/div><\/td>/sg; @removedPre=$ diffContent=~m/<td class="db-ZGlmZi1kZWxldA"><div>(.*?)<\/div><\/td>/sg; my ($ addedTotal,$ removedTotal); $ addedTotal=join(' ', @addedPre); $ removedTotal=join(' ', @removedPre); $ addedTotal =~ s/<span class="db-ZGlmZmNoYW5nZQ">.+?<\/span>//g; $ removedTotal =~ s/<span class="db-ZGlmZmNoYW5nZQ">.+?<\/span>//g; foreach $ diff (@addedPre) { my $ diffchange=0; foreach my $ addition ($ diff=~m/<span class="db-ZGlmZmNoYW5nZQ">(.*?)<\/span>/g) { push (@added,$ addition); $ diffchange=1; } if (!$ diffchange) { if ($ removedTotal !~ m/\Q$ diff\E/) { push(@added,$ diff); } } } # foreach $ diff (@removedPre) { # my $ diffchange=0; # foreach my $ removal ($ diff=~m/<span class="db-ZGlmZmNoYW5nZQ">(.*?)<\/span>/g) { # push (@removed,$ removal); # $ diffchange=1; # } # if (!$ diffchange) { # if ($ addedTotal !~ m/\Q$ diff\E/) { # push(@removed,$ diff); # } # } } return (@added); }
30:
package DiffParser; use LWP::UserAgent; my $ diffFetcher=LWP::UserAgent->new; $ diffFetcher->agent("LinkWatcher/2.0"); sub parse { my $ diffUrl=shift; $ diffUrl.="&diffonly=1&action=render"; my $ diffContent=$ diffFetcher->get($ diffUrl)->content; my
21:
17:
8:
7:
28:
1:
45:
36:
44:
43:
39:
38:
37:
35:
34:
33:
32:
26:
25:
24:
12:
11:
5:
42:
40:
29:
27:
15:
14:
13:
10:
9:
6:
4:
3:
2:
41:
23:
19:
18:User:XLinkBot
20: |
16:<
22:Code
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.