rsFalse has asked for the wisdom of the Perl Monks concerning the following question:
Hello.
I was trying to convert parentheses to square brackets in my program:
I was trying to convert parentheses to square brackets in my program:
OUTPUT:#!/usr/bin/perl use warnings; use strict; $\ = $/; $_ = reverse "(a+b)*c"; # or some longer sequence s/\)([^()]+)\(/]$1[/g; print scalar reverse y/][/)(/r;
I guess that perl tried to interpret $1[ as element of an array @1? So I solved this problem in two ways, using:syntax error at ./bracket.pl line 13, near "y/][/)(/r;" Execution of ./bracket.pl aborted due to compilation errors.
and usual ways/\)([^()]+)\(/]$1\[/g; # '[' is not a metachar here
s/\)([^()]+)\(/]${1}[/g; # to surround the whole variable name which is interpreted inside a st +ring
Back to
Seekers of Perl Wisdom