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/
>
>
>

Reply via email to