----------------------------EOF----------------------------u880 name: Gabe Girard u881 name: Gabriel Rigg u882 name: Genna Bourget ... for about 263 of them
---------------------------EOF-----------------------------fkasierderrick::1333:20::::Freya Kasier Derrick grigg::1460:20::::Gabriel Rigg omeara::1025:20::::Gary O'Meara
#!/usr/bin/perl $oldserv = "./testing"; $newserv = "./testing2"; $usernumfile = "./usrbynum.txt"; $usershortfile = "./srnames.txt"; open USERNUMS, "< $usernumfile" or die "$!"; open SHORTNAMES, "< $usershortfile" or die "$!";# open file with user while (<SHORTNAMES>) { # loop through all lines of shor +tnames my ($longname,$shortname) = (split /:/)[7,0]; # seperat +e by those ugly colen $finishedusers{$longname} = $shortname; chomp %finishedusers; } my %lookup; # Hash %lookup while(<USERNUMS>) { # loop through file with user numbers ($uid) = /(u\d{3,5})/; # User ID find yes ($longname2) = /([A-Z]\w+)/; chomp $longname2; $lookup{$longname2} = $uid; # Setup hash %lookup with keys " +Long Name"=> "usernum" } while (($longname2, $uid) = each(%lookup)) { next unless exists $finishedusers{$longname2}; system ("cp '$oldserv/$uid/Documents/*' '$newserv/$finishedusers{$ +longname2}/Documents/'"); print "Copying Files for $finishedusers{longname2}"; } close USERNUMS; close SHORTNAMES;
For both of the files and their while() statements used to extract data for the hashes, they printed the exact correct statements (even the newlines added up, so there were none because of the chomp). So, I know that, individually at least, these statements work.while (<SHORTNAMES>) { # loop through all lines of shor +tnames my ($longname,$shortname) = (split /:/)[7,0]; # seperat +e by those ugly colen $finishedusers{$longname} = $shortname; chomp %finishedusers; } while (($templong,$tempshort) = each(%finishedusers)) { print "long: $templong \n short: $tempshort \n\n }
Global symbol "$oldserv" requires explicit package name at doctrans2.p +l line 6. Global symbol "$newserv" requires explicit package name at doctrans2.p +l line 7. Global symbol "$usernumfile" requires explicit package name at doctran +s2.pl line 8. Global symbol "$usershortfile" requires explicit package name at doctr +ans2.pl line 9. Global symbol "$usernumfile" requires explicit package name at doctran +s2.pl line 11. Global symbol "$usershortfile" requires explicit package name at doctr +ans2.pl line 12. Global symbol "%finishedusers" requires explicit package name at doctr +ans2.pl line 15. Global symbol "%finishedusers" requires explicit package name at doctr +ans2.pl line 16. Global symbol "$uid" requires explicit package name at doctrans2.pl li +ne 21. Global symbol "$longname2" requires explicit package name at doctrans2 +.pl line 22. Global symbol "$longname2" requires explicit package name at doctrans2 +.pl line 23. Global symbol "$longname2" requires explicit package name at doctrans2 +.pl line 24. Global symbol "$uid" requires explicit package name at doctrans2.pl li +ne 24. Global symbol "$longname2" requires explicit package name at doctrans2 +.pl line 27. Global symbol "$uid" requires explicit package name at doctrans2.pl li +ne 27. Global symbol "%finishedusers" requires explicit package name at doctr +ans2.pl line 28. Global symbol "$longname2" requires explicit package name at doctrans2 +.pl line 28. Global symbol "$oldserv" requires explicit package name at doctrans2.p +l line 29. Global symbol "$uid" requires explicit package name at doctrans2.pl li +ne 29. Global symbol "$newserv" requires explicit package name at doctrans2.p +l line 29. Global symbol "%finishedusers" requires explicit package name at doctr +ans2.pl line 29. Global symbol "$longname2" requires explicit package name at doctrans2 +.pl line 29. Global symbol "%finishedusers" requires explicit package name at doctr +ans2.pl line 30. Execution of doctrans2.pl aborted due to compilation errors.
In reply to Still having problems with user 'backup' script by gsr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |