Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
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 contemplating the Monastery: (7)
As of 2014-12-28 10:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (180 votes), past polls