SPUG: hash from string

Matt Tucker tuck at whistlingfish.net
Wed Jul 12 14:38:47 CDT 2000


-- Peter Dueber <peter at hivnet.fhcrc.org> spake thusly:

> Anyone have a good technique (maybe using map?) to take a string
> (with embedded new-lines)  like the following:
>
> $x = "
> 'xyz' = '/export/home'
> 'adfd' = '/usr/there'
> 'ddddd = '/someplace/else'
> etc";
>
> and directly convert it to a hash equivalent to :
>
> %hash = ('xyz'  => '/export/home',
>          'adfd' => '/usr/there',
>          'ddddd => '/someplace/else',
>          etc.
>         );

%hash = map { /'(.*)' = '(.*)'/;
			  defined $2 ? ($1, $2) : ();
		  } split "\n", $x;

Modify the regexp as needed for your particular input.

- Matt


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
 For full traffic, use spug-list for LIST ; otherwise use spug-list-digest
  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/





More information about the spug-list mailing list