Sponsored Content
Top Forums Shell Programming and Scripting Issue regarding dos2unix perl script Post 302535388 by Corona688 on Thursday 30th of June 2011 01:41:33 PM
Old 06-30-2011
I have no idea why that script is doing certain things, and no idea how some of those local functions are supposed to be working, so I can't write it for you, best I can do is give you the pieces you need and offer advice, and improve by trial and error. To do this I need replies from you telling me if what I did worked, otherwise I'm no further along.

Have you tried anything else I've suggested yet? Did it work or not?

I'd suggest commenting out the chdir's and system's until you get it at least acknowledging that you have a file to operate on, and the right number of them at that
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

calling dos2unix on shell script from within the script

I have a build script. It was created on Linux. For some reason, I got it to windows and modified it. And brought it back again to Linux. Since there is the question of the ^M chars appearing, the way out is to do a dos2unix on the script file. This is done manually. Is there a way to call... (4 Replies)
Discussion started by: vino
4 Replies

2. UNIX for Dummies Questions & Answers

dos2unix - editing script - Help Urgent Please

Hi this is my first time on this forum so sorry if I posted this to the wrong area. I need help with the following. I have a basic FormMail cgi script I use. When I upload the script using filezilla, there is one line in the script that changes. The line should read &get_date; instead it... (2 Replies)
Discussion started by: lydp101
2 Replies

3. Shell Programming and Scripting

Perl Script Issue - Please Help * Thanks!!!

Please help me with my script please. I am trying to do the following: 1. Read files for the current directory 2. Open and read from nbe files files only 3. Read only the lines with the results pattern 4. Split the line and print 3rd field Please indicate what line I need to modify. ... (8 Replies)
Discussion started by: jroberson
8 Replies

4. Shell Programming and Scripting

dos2unix

hi, need some urgent inputs..... I have a folder, which has both files and directories as its contents. I want to convert all the files (Excluding the directories) from dos to unix mode using the command 'dos2unix'..... please can any one help me in providing the command to convert... (3 Replies)
Discussion started by: cmaroju
3 Replies

5. Shell Programming and Scripting

Perl Script issue. What am I doing wrong?

#!/usr/local/bin/perl open (MYFILE, 'logs_report'); while (<MYFILE>) { $rec=$_; chomp ($rec); @arr=split(/ /,$rec); print $rec,"\n" if ($arr!~/OK/); open (MYF, '>data.txt'); print $rec,"\n" if ($arr!~/OK/); close (MYF); (14 Replies)
Discussion started by: SkySmart
14 Replies

6. Shell Programming and Scripting

Perl script issue: print

Can someone tell me what I'm doing wrong with my perl script? I am new to Perl. This isn't even the final script, I'm just testing to see if it will print the directories with the files in it. For some reason my output is only printing the 1st, 6th, and last entries of the @sub_dir array. Each... (3 Replies)
Discussion started by: man
3 Replies

7. Web Development

Accessing a Perl CGI script, security issue

Hi Everybody, I was wondering if it was possible for someone to gain access to my Perl CGI scripts before they are interpreted by Perl (mod_perl on apache2) i.e. getting a hold of my raw scripts and not the html output? Let's say I use the DBI module where I have the hostname, user and... (2 Replies)
Discussion started by: z1dane
2 Replies

8. Shell Programming and Scripting

Perl script issue

Hi All, I have a perl script which I am using in Windows environment. There is one more file called "functions.txt" which is having all the functions defined to used in my perl script. And the path for this function file is defined in my perl script. Howeever sometimes I am getting below error... (4 Replies)
Discussion started by: gr8_usk
4 Replies

9. Red Hat

Oracle Linux issue - all files FTPed to it from windows need to to be processed with dos2UNIX

Hello Friends, I have observed one recent issue about ftp from windows to Linux. Initially we had Solaris unix and any file sent from windows to solaris via ftp (binary or ascii) worked smoothly. Say for e.g if I sent a shell script to soalris from windows, that script used to run corectly.... (17 Replies)
Discussion started by: Albert_Pinto7
17 Replies

10. Shell Programming and Scripting

Script exits when using UNIX2dos / dos2UNIX

I'm not sure why but my script quits automatically at the point where unix2dos / dos2unix command is used. :confused::confused::confused: How do a fix it? LOG_FILE=MADDY.txt unix2dos ${LOG_FILE} exec 2> $LOG_FILE 1>&2 echo ${LOG_FILE} The script exists after the below... (3 Replies)
Discussion started by: machomaddy
3 Replies
File::chdir(3)						User Contributed Perl Documentation					    File::chdir(3)

NAME
File::chdir - a more sensible way to change directories VERSION
version 0.1008 SYNOPSIS
use File::chdir; $CWD = "/foo/bar"; # now in /foo/bar { local $CWD = "/moo/baz"; # now in /moo/baz ... } # still in /foo/bar! DESCRIPTION
Perl's "chdir()" has the unfortunate problem of being very, very, very global. If any part of your program calls "chdir()" or if any library you use calls "chdir()", it changes the current working directory for the whole program. This sucks. File::chdir gives you an alternative, $CWD and @CWD. These two variables combine all the power of "chdir()", File::Spec and Cwd. $CWD Use the $CWD variable instead of "chdir()" and Cwd. use File::chdir; $CWD = $dir; # just like chdir($dir)! print $CWD; # prints the current working directory It can be localized, and it does the right thing. $CWD = "/foo"; # it's /foo out here. { local $CWD = "/bar"; # /bar in here } # still /foo out here! $CWD always returns the absolute path in the native form for the operating system. $CWD and normal "chdir()" work together just fine. @CWD @CWD represents the current working directory as an array, each directory in the path is an element of the array. This can often make the directory easier to manipulate, and you don't have to fumble with "File::Spec->splitpath" and "File::Spec->catdir" to make portable code. # Similar to chdir("/usr/local/src/perl") @CWD = qw(usr local src perl); pop, push, shift, unshift and splice all work. pop and push are probably the most useful. pop @CWD; # same as chdir(File::Spec->updir) push @CWD, 'some_dir' # same as chdir('some_dir') @CWD and $CWD both work fine together. NOTE Due to a perl bug you can't localize @CWD. See "CAVEATS" for a work around. EXAMPLES
(We omit the "use File::chdir" from these examples for terseness) Here's $CWD instead of "chdir()": $CWD = 'foo'; # chdir('foo') and now instead of Cwd. print $CWD; # use Cwd; print Cwd::abs_path you can even do zsh style "cd foo bar" $CWD = '/usr/local/foo'; $CWD =~ s/usr/var/; if you want to localize that, make sure you get the parens right { (local $CWD) =~ s/usr/var/; ... } It's most useful for writing polite subroutines which don't leave the program in some strange directory: sub foo { local $CWD = 'some/other/dir'; ...do your work... } which is much simpler than the equivalent: sub foo { use Cwd; my $orig_dir = Cwd::getcwd; chdir('some/other/dir'); ...do your work... chdir($orig_dir); } @CWD comes in handy when you want to start moving up and down the directory hierarchy in a cross-platform manner without having to use File::Spec. pop @CWD; # chdir(File::Spec->updir); push @CWD, 'some', 'dir' # chdir(File::Spec->catdir(qw(some dir))); You can easily change your parent directory: # chdir from /some/dir/bar/moo to /some/dir/foo/moo $CWD[-2] = 'foo'; CAVEATS
"local @CWD" does not work. "local @CWD" will not localize @CWD. This is a bug in Perl, you can't localize tied arrays. As a work around localizing $CWD will effectively localize @CWD. { local $CWD; pop @CWD; ... } Assigning to @CWD calls "chdir()" for each element @CWD = qw/a b c d/; Internally, Perl clears @CWD and assigns each element in turn. Thus, this code above will do this: chdir 'a'; chdir 'a/b'; chdir 'a/b/c'; chdir 'a/b/c/d'; Generally, avoid assigning to @CWD and just use push and pop instead. Volumes not handled There is currently no way to change the current volume via File::chdir. NOTES
$CWD returns the current directory using native path separators, i.e. on Win32. This ensures that $CWD will compare correctly with directories created using File::Spec. For example: my $working_dir = File::Spec->catdir( $CWD, "foo" ); $CWD = $working_dir; doing_stuff_might_chdir(); is( $CWD, $working_dir, "back to original working_dir?" ); Deleting the last item of @CWD will act like a pop. Deleting from the middle will throw an exception. delete @CWD[-1]; # OK delete @CWD[-2]; # Dies What should %CWD do? Something with volumes? # chdir to C:Program FilesSierraHalf Life ? $CWD{C} = '\Program Files\Sierra\Half Life'; DIAGNOSTICS
If an error is encountered when changing $CWD or @CWD, one of the following exceptions will be thrown: o Can't delete except at the end of @CWD o Failed to change directory to '$dir' HISTORY
Michael wanted "local chdir" to work. p5p didn't. But it wasn't over! Was it over when the Germans bombed Pearl Harbor? Hell, no! Abigail and/or Bryan Warnock suggested the $CWD thing (Michael forgets which). They were right. The "chdir()" override was eliminated in 0.04. David became co-maintainer with 0.06_01 to fix some chronic Win32 path bugs. As of 0.08, if changing $CWD or @CWD fails to change the directory, an error will be thrown. SEE ALSO
File::pushd, File::Spec, Cwd, "chdir" in perlfunc, "Animal House" <http://www.imdb.com/title/tt0077975/quotes> SUPPORT
Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at <https://rt.cpan.org/Public/Dist/Display.html?Name=File-chdir>. You will be notified automatically of any progress on your issue. Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. <https://github.com/dagolden/file-chdir> git clone git://github.com/dagolden/file-chdir.git AUTHORS
o David A Golden <dagolden@cpan.org> o Michael G Schwern <schwern@pobox.com> (original author) COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Michael G Schwern and David A Golden. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.18.2 2012-12-02 File::chdir(3)
All times are GMT -4. The time now is 11:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy