Hi,
Sorry for the late reply. Just logged in after work. This is awesome!!. Truly a genius solution!!. There's a lot I've learnt from your code.
Just so that I get it right, when you say next if !/^(\d+):(.*)/s; it means, just move next if you find a line that starts with one or more digits, followed by a colon, and then some stuff. I am not sure what the /s does though, does it mean "spill" this regex over even if there is a new line?
Further down, the next if !/^\s*?([^=]+)\s*=\s*(.*)/ I guess means
next if ! -> Move to the next line if the line does NOT / ^\s*? -> begin with one or more space (? makes this lazy I guess) ([^=]+)-> Does not include the literal "equal to" sign & create captur +e group of whatever text is there. \s* -> Some more space. = -> Literal "equal to" \s* -> Some more space. (.*) -> Second capture group of the remaining stuff. /
Please let me know if my understanding is right.
The lines my ($id, $tail) = ($1, $2) and the entire code in the second while loop is simply amazing and an eye opener!! I have no words to express my gratitude for showing this amazing stuff!!
In reply to Re^4: Unable to get the paragraph in the list of hashes. Getting single lines instead.
by pritesh_ugrankar
in thread Unable to get the paragraph in the list of hashes. Getting single lines instead.
by pritesh_ugrankar
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |