Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^4: printing of an array

by perl-diddler (Hermit)
on Mar 31, 2013 at 04:38 UTC ( #1026332=note: print w/ replies, xml ) Need Help??


in reply to Re^3: printing of an array
in thread printing of an array

What's wrong is the way you are entering the file name. Double quotes allow interpretation of what is between them:
I.e. step 1:
print out the name of the file:

perl -e ' use P; my $filelist="C:\Users\cign\Desktop\printFile.txt"; P "opening file: %s", $filelist; ' opening file: C:SERS GNDESKTOPPRINTFILE.TXT
Is that the file you wanted to open? Prolly not.
step 2, at least turn on warning and try to use strict - they detect alot (though not all) of problems -- in this case they would have given you a hint:
perl -we 'use strict; use P; my $filelist="C:\Users\cign\Desktop\printFile.txt"; P "opening file: %s", $filelist;' Unrecognized escape \D passed through at -e line 2. Unrecognized escape \p passed through at -e line 2. opening file: C:SERS GNDESKTOPPRINTFILE.TXT

use single quotes to define a literal, or put another backslash \ before each \, or use the 'q{...}' operator to really set it off that emphasizes it has to be taken literally (and doesn't interfere with my using single quotes in a 1 line program I typed in on the command line! ;-)

perl -we 'use strict; use P; my $filelist=q{C:\Users\cign\Desktop\printFile.txt}; P "opening file: %s", $filelist;' opening file: C:\Users\cign\Desktop\printFile.txt ## #alternate ways ## > perl -we 'use strict; use P; my $filelist='\''C:\Users\cign\Desktop\printFile.txt'\''; P "opening file: %s", $filelist;' opening file: C:\Users\cign\Desktop\printFile.txt ## > perl -we 'use strict; use P; my $filelist="C:\\Users\\cign\\Desktop\\printFile.txt"; P "opening file: %s", $filelist;' opening file: C:\Users\cign\Desktop\printFile.txt ### ## my favorite (in a file)... #! perl/bin/perl.exe use strict; use P; my $filelist="C:/Users/../tmp/../Perl64/printFile.txt"; P "opening file: %s", $filelist; open (test, ">", $filelist) or die "didn't work"; print test "Hello World!\n"; close test; C:\Perl64>perl test.pl opening file: C:/Users/../tmp/../Perl64/printFile.txt C:\Perl64>type printFile.txt Hello World!

Forward slash works in alot of places on Windows cuz the underlying 'NT' OS accepts it.


Comment on Re^4: printing of an array
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1026332]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2015-07-03 15:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (53 votes), past polls