If the problem was that you were not catching those 57's, it was because of those blanks within [], so just modify your regexp to allow it:
use strict; use warnings; while (my $file_content = <DATA>) { if ( $file_content =~ m/Vc3/ ) { my @numbers = $file_content =~ /\[\s*(\d+)\s*\]/g;#modified { local $,=':'; print @numbers; print $/ } } } __DATA__ Item no.0: NameDepth [2] <0> Class: [1] NetElementObjectClass Instance +: (int) [2] <1> Class: [ 57 ] Vc3TtpSnkObjectClass Instan +ce: (int) [3] Item no.1: NameDepth [2] <0> Class: [1] NetElementObjectClass Instance +: (int) [2]
This prints:
57:3 57
In reply to Re: extracting integers from bracketes when reading from file...
by pg
in thread extracting integers from bracketes when reading from file...
by liri
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |