Great answers thanks. Thats a bit weird to me, that a variable can be either/or, but Ive got it now.
Heres how its used in my code. Not sure if using chop is good practice, but it works..........
my ($function, $sourcedir, $targetdir) = @ARGV;
die ": missing operand. Usage: $0 <OPTION>... <SOURCE_DIRECTORY>... [T
+ARGET_DIRECTORY]...
OPTION all the FILE(s) and DIRECTORIES:
-c = copy or -cy = copy overwrite
-m = move or -my = move with overwrite
-d = delete
\n" unless (defined $function && defined $sourcedir); #@ARGV;
#check validity input
opendir(my $source_handle, $sourcedir) or die "Can't opendir $sourcedi
+r: $!\n";
my $overwrite = 0 + (length $function>2) && $function =~ m/..y/ ;
#strip last character ($overwrite now instantiated; no need for 'y')
chop($function);