in reply to Loading an array with file names
If you are only performing simple, ad hoc tasks then this is one of those great times when you can get away with writing on-the-fly one-liners. Let's say you wanted to do something like rename the files so that spaces are converted into underscores. You can incrementally change the one-liner to ensure you are changing the right things:
$ touch data/{1..5}\ with\ spaces.dat $ perl -le'for(<data/*.dat>){print}' $ perl -le'for(<data/*.dat>){$o=$_;tr/ /_/;print}' $ perl -le'for(<data/*.dat>){$o=$_;tr/ /_/;rename $o,$_}'
I realize you are not using Unix, but the only function of the 1st command is to create some files that have spaces in their names. The 2nd command shows you the files you are going to change. The 3rd command shows you what their new names are going to be. The final command does the actual work. I use this kind of technique almost daily.
If you want to write production code, best to use the built in glob function instead of the <.. > construct. (See Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction.)
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Loading an array with file names
by graff (Chancellor) on May 05, 2015 at 05:09 UTC |