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