SPUG: A more complicated question
Ken McGlothlen
mcglk at artlogix.com
Thu Jan 10 18:02:40 CST 2002
"garrett esperum" <shamonsflame at hotmail.com> writes:
| The meta-data file contains information about multiple data files. There are
| hundreds of rows with six columns each in the meta-data file. Each file has
| it's own row of meta information. A rows column is as follows:
|
| Column 1 = file name
| Column 2 = file type
| Column 3 = file location
| Column 4 = file owner
| Column 5 = file permissions
| Column 6 = currently unused optional column
|
| These columns are seperated by a single tab. [...]
| I want to execute the creation.pl file to read the meta-data file and create
| a "mirrored file environment" from the meta-data information. I need help
| with the following tasks:
|
| 1) How do I process each column of every row? How do I grab one row, split it
| up at every tab, and copy the correct file into it's correct directory with
| its correct permissions?
use File::Copy;
open( F, "metadata.yabble" );
while( <F> ) {
chomp;
my( $fn, $ftype, $floc, $fown, $fperm, $optional ) = split( /\t/ );
copy( $fn, $floc );
chmod( $fperm, "$floc/$fn" );
}
close( F );
| 2) How do I create variables for each piece of the split row?
Already answered above.
| Like how do I create a variable for the directory path column and then go and
| create that directory path from that variable if it doesn't already exist?
use File::Copy;
use File::Path;
open( F, "metadata.yabble" );
while( <F> ) {
chomp;
my( $fn, $ftype, $floc, $fown, $fperm, $optional ) = split( /\t/ );
mkpath( $floc ) unless( -d $floc );
copy( $fn, $floc );
chmod( $fperm, "$floc/$fn" );
}
close( F );
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest
Seattle Perl Users Group (SPUG) Home Page: http://zipcon.net/spug/
More information about the spug-list
mailing list