Hi All.

I have a real issue with strings. I want to build a sub routine skeleton plus 
some test code. If I use () or {} etc. The string comes out completely messed 
up. The code below is for a heredoc and complains that I am trying to define a 
function. If I use the skeleton within a string. It places the () at() at the 
beginning. In other words it messes up the formatting.

Both code examples below:

foreach my $k (keys %commands ) {
        my $s;
        $k =~ s/show //;
        $s = $k;
        $s =~ s/ |\-/_/g;
        print "<<TEXT";
                $s () if(\$k =~ m/$k/);
                sub $s () {
                } # end sub 
                


String example:

foreach my $k (keys %commands ) {
        my $s;
        $k =~ s/show //;
        $s = $k;
        $s =~ s/ |\-/_/g;
        print ""$s () if(\$k =~ m/$k/);\n";
                print "sub $s () {\} # end sub\n\n"; 
} # end foreach

Note, I have escaped with the '\'  the above () and {},  and other punctuation 
characters with no success. I have even used the \q \e escape sequences with no 
success. Tried to build the string up with using single quotes and double 
quotes with no success. Any help would be really welcomed.

Why? I have about 100 different commands from a router which I am converting 
the command into a sub routine to process the output. Each output is unique to 
the command.

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