> foreach my $fa (@FA) { > if (@list > 0 ) { > &mk_fa($fa); > } else { > @list = (3 .. 9); > &mk_fa($fa); > }
Or simply: @list = 3 .. 9 unless @list; mk_fa( $fa ); YES,thanks ! You should *never* modify an array that you are iterating over in a foreach loop. What exactly are you attempting to do here? for example as follows, in /data3 mkdir FA00000001 in /data4 mkdir FA00000002 ........ in /data8 mkdir FA00000010 in /data3 mkdir FA00000011 in /data4 mkdir FA00000012 ........ in /data8 mkdir FA00000016 Do you have better idea ? thank you ! [r...@nru-yz NRU]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 19G 5.3G 13G 30% / /dev/sda5 120G 2.0G 112G 2% /data /dev/sda6 120G 11G 103G 10% /data2 tmpfs 1014M 0 1014M 0% /dev/shm /dev/sdb1 908G 476G 386G 56% /data3 /dev/sdc1 2.0T 1.2T 713G 63% /data4 /dev/sdh1 1.8T 1.3T 438G 75% /data5 /dev/sdg1 1.7T 1.2T 444G 73% /data9 /dev/sde1 1.7T 468G 1.2T 29% /data7 /dev/sdd1 1.7T 639G 1004G 39% /data6 /dev/sdf1 1.7T 1.1T 578G 65% /data8 -----邮件原件----- 发件人: John W. Krahn [mailto:jwkr...@shaw.ca] 发送时间: 2009年11月18日 14:12 收件人: Perl Beginners 主题: Re: mkdir in the mounted partition£¬please help me£¬thanks gaochong wrote: > #!/usr/bin/perl -w > > #Auther:gaochong > > use strict; > > my @list = (3 .. 9); > my @FA=("FA00000001".."FA00002000"); > sub mk_fa { > my ($f) = @_; > foreach my $p (@list) { > mkdir "/data$p/NRU/$f",0755 or warn "mkdir /data$p/NRU/$f > err:$!"; > symlink "/data$p/NRU/$f","/usr/local/Titan/NRU/$f" or warn > "symlink /data$p/NRU/$f err:$!"; > shift @list; You should *never* modify an array that you are iterating over in a foreach loop. What exactly are you attempting to do here? > last; > } > } > > foreach my $fa (@FA) { > if (@list > 0 ) { > &mk_fa($fa); > } else { > @list = (3 .. 9); > &mk_fa($fa); > } Or simply: @list = 3 .. 9 unless @list; mk_fa( $fa ); > } John -- The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. -- Damian Conway -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/ -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/