Re: Please Help!!! Newbie Question
Perl wrote: Hi List, I have this script which actually returns the value of the filename with extension but If the file name is something like c:\projects\text 009.txt (having a space in filename which is common in windows). This script only returns text instead of returning full name of file. Hi Perl, Are you quoting the filename on the command line? Most shells split arguments on whitespace. In your example $ARGV[0] contains c:\projects\text, and $ARGV[1] contains 009.txt. Randy. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ http://learn.perl.org/first-response
RE: Please Help!!! Newbie Question
Perl wrote: Hi List, I have this script which actually returns the value of the filename with extension but If the file name is something like c:\projects\text 009.txt (having a space in filename which is common in windows). This script only returns text instead of returning full name of file. Here is the script #!/usr/bin/perl # file: basename.pl use strict; use File::Basename; my $path = $ARGV[0]; my $base = basename($path); my $dir = dirname($path); print STDOUT $base; Any help/suggestion will be appreicated. Thanks a lot. You asked this question yesterday and I provided adequate help. Why did you not go with that? Here is the email: Perl wrote: I am new to perl so I need some help from the list with this script. It takes a value from command line and then returns afters processing. For example, If value is c:\projects\test 2005.txt the script will returns it as test (actually omitts any space in the directory or file name) while I want the full name of the file regardless of any space in the directory or filename. how can I get the value test 2005.txt? #!/usr/bin/perl # file: basename.pl use strict; use File::Basename; my $path = $ARGV[0]; my $base = basename($path); my $dir = dirname($path); print STDOUT $base; any help will be greatly appreciated. Thanks in advance. It works for me: C:\perl -MFile::Basename -eprint basename q(c:\projects\test 2005.txt) test 2005.txt How are you executing the script? Are you surrounding c:\projects\test 2005.txt with quotes when you call the script? If not, $ARGV[0] will only contain c:\projects\test. Why not put a print join ':', @ARGV in your script and you'll see what I mean. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ http://learn.perl.org/first-response
RE: Please Help!!! Newbie question
Perl wrote: I am new to perl so I need some help from the list with this script. It takes a value from command line and then returns afters processing. For example, If value is c:\projects\test 2005.txt the script will returns it as test (actually omitts any space in the directory or file name) while I want the full name of the file regardless of any space in the directory or filename. how can I get the value test 2005.txt? #!/usr/bin/perl # file: basename.pl use strict; use File::Basename; my $path = $ARGV[0]; my $base = basename($path); my $dir = dirname($path); print STDOUT $base; any help will be greatly appreciated. Thanks in advance. It works for me: C:\perl -MFile::Basename -eprint basename q(c:\projects\test 2005.txt) test 2005.txt How are you executing the script? Are you surrounding c:\projects\test 2005.txt with quotes when you call the script? If not, $ARGV[0] will only contain c:\projects\test. Why not put a print join ':', @ARGV in your script and you'll see what I mean. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ http://learn.perl.org/first-response
Re: Please Help!!! Newbie question
On Wednesday 31 August 2005 09:12 am, Perl wrote: I am new to perl so I need some help from the list with this script. It takes a value from command line and then returns afters processing. For example, If value is c:\projects\test 2005.txt the script will returns it as test (actually omitts any space in the directory or file name) while I want the full name of the file regardless of any space in the directory or filename. how can I get the value test 2005.txt? #!/usr/bin/perl # file: basename.pl use strict; use File::Basename; my $path = $ARGV[0]; my $base = basename($path); my $dir = dirname($path); print STDOUT $base; any help will be greatly appreciated. Thanks in advance. print $path; I think that will get it... -- Eric Walker EDA/CAD Engineer Work: 208-368-2573 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ http://learn.perl.org/first-response