Wenn Du es denn unbedingt ohne Modul haben willst:
{
local $/; # slurpmode
my $html = <DATA>;
my @link = grep {$_ =~ /^[RT]\d+$/} $html =~ m~<a\s[^>]+>([^<>]+)</a>~ig;
print "$_\n" for @link;
}
_ _ D A T A _ _
<A HREF="/pub/databases/transfac/doc/gene1.html#BS" target="_new">BS</A> -202 -135 <A HREF="/cgi-bin/pub/databases/transfac/getTF.cgi?AC=R00929">R00929</A>; HS$IFNB_14.
<A HREF="/pub/databases/transfac/doc/gene1.html#BS" target="_new">BS</A> -167 -94 <A HREF="/cgi-bin/pub/databases/transfac/getTF.cgi?AC=R00916">R00916</A>; HS$IFNB_01; Binding factors: R2 <A HREF="/cgi-bin/pub/databases/transfac/getTF.cgi?AC=T00712">T00712</A>.
<A HREF="/pub/databases/transfac/doc/gene1.html#BS" target="_new">BS</A> -100 -61 <A HREF="/cgi-bin/pub/databases/transfac/getTF.cgi?AC=R00917">R00917</A>; HS$IFNB_02; Binding factors: IRF1 <A HREF="/cgi-bin/pub/databases/transfac/getTF.cgi?AC=T00422">T00422</A>, IRF-2
<A HREF="/pub/databases/transfac/doc/gene1.html#BS" target="_new">BS</A> <A HREF="/cgi-bin/pub/databases/transfac/getTF.cgi?AC=T00425">T00425</A>.
Ausgabe:
R00929
R00916
T00712
R00917
T00422
T00425
Die wichtige Zeile ist diese:
my @link = grep {$_ =~ /^[RT]\d+$/} $html =~ m~<a\s[^>]+>([^<>]+)</a>~ig;
Der rote Teil extrahiert alle Linksbeschreibungen, der blaue stellt sicher, dass nur die aufbewart werden, die Du haben willst (beginnend mit R oder T und dann folgen nur Ziffern).
Natürlich kann man das auch in einem RE zusammenfassen, wie Renee gezeigt hat:
my @link = $html =~ m~<a\s[^>]+>([RT]\d+)</a>~ig;\n\n
<!--EDIT|Crian|1089365042-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite