Garrett Esperum wrote:
> 
> Hello all,

Hello,

> Below is what I have so far for my script, I can get every piece to work
> correctly on it's own, nut I cannot get these two pieces to work together. I
> think I am messing up the syntax of this script. What Am I doing wrong?? How
> do I loop in the Directory creation, and file copy procedures??
> 
> #!/usr/local/bin/perl -w
> 
> use strict;
> use File::Path;
> use File::Copy;
> 
> my $file;
> my $type;
> my $location;
> my $owner;
> my $permissions;
> open (MDATA, "meta-data") or die "Cannot open $!\n";
> while (<MDATA>) {
>         chomp;
>         ($file, $type, $location, $owner, $permissions) = split /\t/;

Because these variables are only used inside the while loop you should declare them 
here.

         my ($file, $type, $location, $owner, $permissions) = split /\t/;

Also, if you are only using one of the variables ($location) there is no
need to declare the other variables.

         my $location = (split /\t/)[2];


>         forech $location
          ^^^^^^ ^^^^^^^^^
The first word should be "for" or "foreach".
The expression must be enclosed in parentheses.

foreach ( $location ) {
# OR
for ( $location ) {

But because $location is a single value (scalar) there is really no need to use a loop.

if ( $location ) {


>         {
>                 unless( -d $location )
>                 {
>                 system mkdir $location or die "Couldn't make the target directory: 
>$!\n";
                  ^^^^^^^^^^^^
Is there any reason that you are not using the built-in mkdir() function?

perldoc -f mkdir


>                 }
>         }
> }
> close MDATA
> 
> Error:
> --------------------------------------------------------
> Global symbol "%location" requires explicit package name at ./creation.pl
> line 17.
> syntax error at ./creation.pl line 17, near "$location
>         {"
> syntax error at ./creation.pl line 22, near "}"
> Execution of ./creation.pl aborted due to compilation errors.



John
-- 
use Perl;
program
fulfillment

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

Reply via email to