Jensen Kenneth B Sra Afpc/Dpdmpq wrote:
> 
> Trying to get this to work on one line, but not having any success. In my
> boredom I re-wrote the find command using perl4, and in tweaking it I'm
> running into a problem.  When I type in a starting search path as
> "./something/something" I want to replace the "." with the current working
> directory. Since I am forced to use perl4,

WHY??

> the only way I know to grab the
> directory is using system commands "pwd" or "dirs -l". Those system commands
> append a carriage return, which is where my problem comes in. Here's some of
> the lines I've tried
> 
> $_spath = shift;
> print "$_spath\n";
> $path = `pwd`;
> #$_spath =~ s/^\./(($path=`pwd`) =~ s/\n//))/e;
> #($_spath =~ s/^\./$path=`pwd`/e) =~ chop($_spath);
> #($chop($path)) =~ $_spath =~ s/^\./$path = `pwd`/e;
> #($_spath =~ s/^\./($path=`pwd`) =~ chop($path)/e);
> $_spath =~ s/^\./chop(`pwd`)/e;

$_spath =~ s{^\.}
            { $path = `pwd`;
              chop $path;
              $path
            }e;


> print "$_spath\n";
> 
> I've tried dozens of ways in one command, but can't get rid of that carriage
> return. Chop works fine as long as I don't try to do it inside the
> substitution, reason for that?

It works, it's just that you have to return the path not the return
value of chop.


> In a nutshell I am just trying to make my little searching script identify a
> path beginning with "." and replace that with the pwd, so I don't have to
> type out absolute paths every time. FWIW, here's that script
> 
> #!/usr/contrib/bin/perl

#!/usr/contrib/bin/perl -w


> ($_pattern, $_start) = (shift, shift);
> print "Starting search at: $_start\n";
> 
> chdir "$_start";

Useless use of quotes.  You should verify that chdir worked.

unless ( chdir $_start ) {
    print STDERR "Cannot chdir to $_start: $!";
    exit 1;
    }


> opendir (DIR, "$_start");

Useless use of quotes.  You should verify that opendir worked.

unless ( opendir( DIR, $_start ) ) {
    print STDERR "Cannot open $_start: $!";
    exit 1;
    }



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to