On 1/11/25 2:20 AM, ToddAndMargo via perl6-users wrote:
On 1/11/25 2:17 AM, ToddAndMargo wrote:
On 1/10/25 9:35 PM, ToddAndMargo wrote:


On Jan 10, 2025, at 17:50, ToddAndMargo via perl6-users <perl6- us...@perl.org> wrote:

Hi All,

I am scratching my head trying to figure out how to cut
up this long line;


download='betterbird-128.6.0esr-bb20.de.linux-x86_64.tar.bz2'><div class="img bz2"></div><div class="name"><div class="file fs-1-2 bold">betterbird-128.6.0esr-bb20.de.linux-x86_64.tar.bz2</div><div class="data upper size fs-0-7"><span class="bold">Size:</span> 80.26<span class="fs-0-8 bold">MB</span></div><div class="data upper modified fs-0-7"><span class="bold">Last modified:</span> Tue. January 7th, 2025 - 10:54pm</div></div></a></div><div class="block"><a href="LinuxArchive/betterbird-128.6.0esr-bb20.en- US.linux- x86_64.tar.bz2" class="bz2" download='betterbird-128.6.0esr-bb20.en- US.linux- x86_64.tar.bz2'><div class="img bz2"></div><div class="name"><div class="file fs-1-2 bold">betterbird-128.6.0esr- bb20.en-US.linux- x86_64.tar.bz2</div><div class="data upper size fs-0-7"><span class="bold">Size:</span> 80.04<span class="fs-0-8 bold">MB</ span></ div><div class="data upper modified fs-0-7"><span class="bold">Last modified:</span> Tue. January 7th, 2025 - 10:42pm</ div></div></a></ div><div class="block"><a href="LinuxArchive/ betterbird-128.6.0esr- bb20.es-AR.linux- x86_64.tar.bz2" class="bz2" download='betterbird-128.6.0esr- bb20.es-AR.linux- x86_64.tar.bz2'><div class="img bz2"></div><div class="name"><div class="file fs-1-2 bold">betterbird-128.6.0esr- bb20.es-AR.linux- x86_64.tar.bz2</div>


What I want to come out of it is an array of stings starting
at "download" and ending at ">" or "<"

download='betterbird-128.6.0esr-bb20.de.linux-x86_64.tar.bz2'
download='betterbird-128.6.0esr-bb20.en-US.linux-x86_64.tar.bz2'
download='betterbird-128.6.0esr-bb20.es-AR.linux- x86_64.tar.bz2'x86_64.tar.bz2


Many thanks,
-T

On 1/10/25 8:59 PM, William Michels via perl6-users wrote:
 > Hi Todd,
 >
 > ~$ raku -ne 'put $/.join("\n") if m:g/ <?before  download> .*? <? before
 > \> | \h+ > /;'  todd_test.txt
 > download='betterbird-128.6.0esr-bb20.de.linux-x86_64.tar.bz2'
 > download='betterbird-128.6.0esr-bb20.en-US.linux-x86_64.tar.bz2'
 > download='betterbird-128.6.0esr-bb20.es-AR.linux-x86_64.tar.bz2'
 >
 > See: https://docs.raku.org/syntax/%24%2F <https://docs.raku.org/ syntax/
 > %24%2F>
 > See: https://docs.raku.org/language/regexes#Lookahead_assertions
 > <https://docs.raku.org/language/regexes#Lookahead_assertions>
 >
 > OR:
 >
 > ~$ raku -ne 'put $/.join("\n") if m:g/ <( download  .*? )> [ \> |
 > \h+ ] /;'  todd_test.txt
 > download='betterbird-128.6.0esr-bb20.de.linux-x86_64.tar.bz2'
 > download='betterbird-128.6.0esr-bb20.en-US.linux-x86_64.tar.bz2'
 > download='betterbird-128.6.0esr-bb20.es-AR.linux-x86_64.tar.bz2'
 >
 > See: https://docs.raku.org/language/ regexes#Capture_markers:_%3C(_)%3E
 > <https://docs.raku.org/language/regexes#Capture_markers:_%3C(_)%3E>
 >
 > Let me know if this is part of a larger script, how you're obtaining the
 > input line(s), etc., if you need more guidance.
 >
 > HTH,
 >
 > Bill.
 >

Hi Bill,

Thank you!

I will not have the time to do any programming till maybe
Sunday, so I will not have a chance till then to test
this out.

Yes, this is a simplification of a much larger program.
The line in question is

line 379
view-source:https://www.betterbird.eu/downloads/index.php

The YUGE run on line.  (I hate when they do that.)

I am having a problem figuring out how to get your example
into an array of strings.

The long line will reside in
    my Str $AltClickHere;

And the resulting array will reside in
    my @AltArray

Would you mind showing me how to do that whilst I wait
for some free time?

Many thanks,
-T

    my Str $AltClickHere  = "";
    my @AltArray;

@AltArray = $AltClickHere ~~ m:g/ <?before ^ | download > .*? <?before \> | \h+ > /;  .put for @AltArray;

Type check failed for an element of @AltArray; expected Str but got Match (Match.new(:orig("dow...)


I tool out the "Str" from my array declaration .    Now I
am getting


Too many positionals passed; expected 1 argument but got 2



Got it!

I took out the .put

@AltArray = $AltClickHere ~~ m:g/ <?before ^ | download > .*? <?before \> | \h+ > /; # .put for @AltArray;

Thank you!!!!
-T


Reply via email to