my $do; # function # Get delete_links input (which links should be deleted?) if ( $input =~ m/Delete\+all\+checked\+links%21$/ ) { $do = 'delete'; $input =~ s/(.*?)&delete_links=.*$/$1/ ; @del_links = split /&/, $input; @del_links = map { s/(\d+?)=checked/$1/ ; $_; } @del_links; @del_links = reverse @del_links; # so that last ones are done first } [...] my @metadata = &build_metadata_array; my @strmeta = &parse_metadata(@metadata);