It seems like what you are asking is how to provide a default arg to the command line in the case that a command line field is not populated. ...or maybe you're asking how to parse your project.txt file, though that seems less likely since your question never explicitly mentioned that. So let's go with "I have a script that should use a default command line arg value when one isn't passed in explicitly."
use strict;
use warnings;
my $file = "foo.txt"; # Set a default.
use Getopt::Long;
GetOptions(
'file=s' => \$file, # Default will be used unless --file ... appea
+rs on command line.
);
print $file, "\n"; # prints 'foo.txt' unless the command line explicit
+ly set something else.
If that's not what you're asking, please step back from your problem long enough to re-read your question, imagining you are someone who has no context on what you're trying to do, and rephrase the question in a way that would still make sense.
Also, you still seem to be struggling with how to format your posts here. Have a look at Writeup Formatting Tips. Hopefully that will clear things up for you.