#!/usr/bin/perl use strict; use warnings; use diagnostics; my $text; local $/; $text = <>; my @url_list = ($text =~ m/\[.*?\]\:.*/g); $text =~ s/\s+\[.*?\]\:.*//g; foreach my $line (split /^/, $text) { print $line; foreach ($line =~ m/\[.*?\]\[(.*?)\]/g) { my $link_number = $_; print "\n"; print grep(/(\[$link_number\]\:.*)/, @url_list); print "\n"; } }