in reply to Issue with capturing a string after splitting on "/"

Because you have the line use strict, you will get the error "Global symbol "@fields" requires explicit package name at get_maid_num.pl line 10." if @fields is not defined.

You can define the array like so:
1. my @fields;
2. my @fields=();
Either 1 or 2 will work.


Now, if I am right here, look at the code below and see if this works for you:

#!/usr/bin/perl use strict; my $result; my $komp_dir = "/Users/mydirectory/Desktop/BioinfDev/SequenceAssemblyP +roject/KOMP/"; opendir(DIR, "$komp_dir"); my @FILES= readdir(DIR); close DIR; foreach my $file (@FILES) { if (-d "$komp_dir/$file") { $result = $file; print "$result\n"; } }


OR
#!/usr/bin/perl use strict; my $result; my $komp_dir = "/Users/mydirectory/Desktop/BioinfDev/SequenceAssemblyP +roject/KOMP/"; opendir(DIR, "$komp_dir"); my @FILES= readdir(DIR); close DIR; foreach my $file (@FILES) { if (-d "$komp_dir/$file" && $file =~ /\d+_\w+/) { $result = $file; print "$result\n"; } }


Now you said you only wanted to capture number part, then do this:
#!/usr/bin/perl use strict; my $result; my $komp_dir = "/Users/mydirectory/Desktop/BioinfDev/SequenceAssemblyP +roject/KOMP/"; opendir(DIR, "$komp_dir"); my @FILES= readdir(DIR); close DIR; foreach my $file (@FILES) { if (-d "$komp_dir/$file" && $file =~ /(\d+)_\w+/) { $result = $1; print "$result\n"; } }