in reply to Re^2: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail
in thread Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail

>it just seems odd that Perl's open doesn't just ignore the surrounding quotes.

I think you're missing the point. You made the double quotes part of the literal filename when you defined it. The double quotes around names with spaces also works on unix shells because the shell knows to treat the contents of the double quotes as a single string. perl nor open cares about meta characters (like quotes) in strings. It takes the whole string literally. You should have simply not had the $temp_file = '"' . $temp_file . '"'; line:

#!/usr/bin/perl use strict; use warnings; $temp_file = '"' . $temp_file . '"'; #<- delebe this! my $temp_file = $ENV{'APPDATA'} . '\test.tmp'; print "|$temp_file|\n"; open(my $fh, '>', $temp_file) or die "Error opening $temp_file $!\n";

Replies are listed 'Best First'.
Re^4: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail
by roho (Bishop) on Sep 05, 2020 at 04:50 UTC
    Thanks perlfan. pryrt cleared up my misunderstanding in the initial posts with him above.

    "It's not how hard you work, it's how much you get done."