Sent from my LG phone Paul Johnson <p...@pjcj.net> wrote:
>On Fri, Dec 02, 2011 at 04:39:20AM -0500, sunita.prad...@emc.com wrote: >> Hi All >> >> My array @sympd_list has following lines : >> -------------------- >> /dev/sdd 0BE0 07F:0 08C:D0 Unprotected N/Grp'd RW >> 500 >> /dev/sde 0BE1 07F:0 07A:C0 Unprotected N/Grp'd RW >> 500 >> /dev/sdf 0BE2 07F:0 08D:C0 Unprotected N/Grp'd RW >> 500 >> /dev/sdg 0BE3 07F:0 07B:D0 Unprotected N/Grp'd RW >> 500 >> /dev/sdj 201A 07H:0 07A:D5 Unprotected N/Grp'd RW >> 3 >> --------------------------- >> >> >> I want second column in another array : >> >> 0BE0 >> 0BE1 >> 0BE2 >> 0BE3 >> 201A >> >> I used map function with pattern matching as >>> my @sympd_dev_list = map >> {$_ =~ s/^\/\S+\s+([0-9A-F]{4}).+/$1/ } @sympd_list; >> >> I do not get correct output in map function . But if I use same pattern >> matching in a foreach loop , then I get right output . >> >> Could anyone tell me what is wrong in my map function ? > >Yes. s/// doesn't return what you think it does. > >If you are using a recent perl (5.14), add a /r modifier to it. > >If not, perhaps something like: @sympd_dev_list = map { (split)[1] } >@sympd_list > >-- >Paul Johnson - p...@pjcj.net >http://www.pjcj.net > >-- >To unsubscribe, e-mail: beginners-unsubscr...@perl.org >For additional commands, e-mail: beginners-h...@perl.org >http://learn.perl.org/ > > >