in reply to Regex for matching URLs with username/password and token

I would parse the input line into a hash table. Add code to test the keys to see what kind of situation that you are in.
if (defined ($parms{username}) and defined($parms{password}) ) { print "username and password case\n";}
etc....
use strict; use warnings; use Data::Dump qw(pp); while (defined (my $line =<DATA>)) { chomp $line; next unless $line =~ /\S/; #skip blank lines my %parms = $line =~ /--(\w+)\s+([\w.-]+)/g; pp \%parms; } =output { password => "abc123", server => "api.blr-ocp1.lab.rbbn.com", username => "mgore", } { server => "api.blr-ocp1.lab.rbbn.com", token => "kfjshdssahdvkbvjkbj", } =cut __DATA__ 1. --server api.blr-ocp1.lab.rbbn.com --username mgore --password abc1 +23 2. --server api.blr-ocp1.lab.rbbn.com --token kfjshdssahdvkbvjkbj