Linux is the name of a computer operating system kernel and a group of systems built on it, like Ubuntu or Mint. Linux is the basic infrastructure of the Internet. It’s important. A report ju…
Yes, regex handling in Perl is the smoothest I have ever seen, and it matched the first description I heard of perl as “the best tool for text processing”. I have done big things with that.
Those $ variables are dynamic scoped! If you call a method and it matches stuff you lose the variables!
My match scopes typically looked like so:
if ($inString =~ /^([ \t]+)(.*)$/) {
my$indent = $1; # store first matchmy$remainder = $2; # store second match# do stuff
}
I did bigger parsing tools in perl, so I often matched a lot of expressions and needed them all in variables. Not only to save the $N variables, but also for code readability, I would then store the matches in proper variable names
I genuinely love the idea of the $1 after a match. It feels so natural in perl! So many things are text matching.
But! But! But!! Those $ variables are dynamic scoped! If you call a method and it matches stuff you lose the variables!
I’ll bet there is a way around it. But it made me so sad.
Yes, regex handling in Perl is the smoothest I have ever seen, and it matched the first description I heard of perl as “the best tool for text processing”. I have done big things with that.
My match scopes typically looked like so:
if ($inString =~ /^([ \t]+)(.*)$/) { my $indent = $1; # store first match my $remainder = $2; # store second match # do stuff }(not tested, just edited by hand to anonymise)
I think it came up more like
if ($inString =~ /^([ \t]+)(.*)$/ && has_a_cow($2)) {For me. I dunno. I was never good at perl. I just wanted to hack something together.
I did bigger parsing tools in perl, so I often matched a lot of expressions and needed them all in variables. Not only to save the $N variables, but also for code readability, I would then store the matches in proper variable names