Re: How to cut up a long line
[email protected] (ToddAndMargo via perl6-users)
| Newsgroups | perl.perl6.users |
|---|---|
| Message-ID | <[email protected]> |
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- >>>> [email protected]> 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