I am trying to change the name of several files from some like "sample_ACCTGG.fq" to some like "LA01.fq" based in a file with the interchangeable names (ID.txt). This files is in a format where the separation between columns are tabs and looks like
LA01 ACCTGG LA02 ATTGGC LA03 ATCCCG
I wrote this scrip
#!/usr/bin/perl opendir(DIR, "/samplesA") or die "Can not open folder, $!\n"; @files = readdir(DIR); closedir (DIR); open (IN,"</ID.txt")or die "Can not open barcode file, $!\n"; @lines=(<IN>); close IN; foreach $file (@files) { if ($file =~ m/fq$/) { foreach $line (@lines) { my ($id, $barcode) = split(/\t/,$line); if ($file =~ m/$barcode/) { my $new = $file; $new =~ s/sample_$barcode/$id/; rename ($file, $new) or die "Can not change $file to $new, $!\ +n"; }}}}
it works for the first files, buy then die with the massage "Can not change sample_ACCTGG.fq to ACCTGG.fq". But when I print $new, it is "LA01.fq" that is correct.
In reply to change files names bug by Yuma248
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |