in reply to extracting integers from bracketes when reading from file...

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