local $/; my $data = ; my @img = $data =~ m/<\s*img[^>]*?src\s*=\s*['"]?([^"' >\n]+)/gi; my @css = $data =~ m/<\s*link[^>]*?href\s*=\s*['"]?([^"' >\n]+)/gi; my @lnk = $data =~ m/<\s*a[^>]*?href\s*=\s*['"]?([^"' >\n]+)/gi; use Data::Dumper; print Dumper \@img, \@css, \@lnk; __DATA__ foo __END__ $VAR1 = [ 'img.link1', 'img.link2', 'img.link3', 'img.link4' ]; $VAR2 = [ 'css.link1' ]; $VAR3 = [ 'normal.link1', 'normal.link2', 'normal.link3', 'normal.link4', 'normal.link5' ];