in reply to How to process Getopt::Long from STDIN

G'day m_jaser,

Here's a very basic example of how you might go about this.

#!/usr/bin/env perl use strict; use warnings; use Data::Dump; use Getopt::Long qw{GetOptionsFromString}; my ($x, $y, $z) = (0, 0, 0); my %opts = ('x=i', \$x, 'y=i', \$y, 'z=i', \$z); dd \%opts; GetOptions(%opts); dd \%opts; print 'Enter new: '; chomp(my $new = <>); GetOptionsFromString($new, %opts); dd \%opts;

Sample run:

$ pm_1184309_getopt_long_opts_from_string.pl -x 1 -y 2 { "x=i" => \0, "y=i" => \0, "z=i" => \0 } { "x=i" => \1, "y=i" => \2, "z=i" => \0 } Enter new: -y 3 -z 4 -x 0 { "x=i" => \0, "y=i" => \3, "z=i" => \4 }

In "Re^2: How to process Getopt::Long from STDIN", you asked:

"I'm not sure how this works with GetOptionsFromString perhaps?"

That may answer your question. See the Getopt::Long documentation for details.

— Ken

Replies are listed 'Best First'.
Re^2: How to process Getopt::Long from STDIN
by m_jaser (Novice) on Mar 12, 2017 at 23:05 UTC
    Thanks a lot Ken...! That works perfectly.