Dlaczego to samo wyświetla co innego?

0

Czego zamiast pisać 33 pisze 31?

print $mech->content=~ /<strong>(.[0-9]*)<\/strong><\/a>/;
$liczba2 = $mech->content=~ /<strong>(.[0-9]*)<\/strong><\/a>/;
print $liczba2;

HTML wygląda tak:

...<strong>3</strong></a>...

Nie wie nikt?

0

Chyba nie za wiele osób na forum zna Perla, spróbuj jakieś perlowe forum znaleźć, albo na anglojęzycznym napisać

3
nowy_kibel napisał(a):

Czego zamiast pisać 33 pisze 31?

print $mech->content=~ /<strong>(.[0-9]*)<\/strong><\/a>/;
$liczba2 = $mech->content=~ /<strong>(.[0-9]*)<\/strong><\/a>/;
print $liczba2;

HTML wygląda tak:
<code class="html">...<strong>3</strong></a>...</code>

Nie wie nikt?

print $mech->content=~ /<strong>(.[0-9]*)<\/strong><\/a>/ <-- wypisuje wartość (tutaj: 3) wyszukaną w/g wzorca z wyrażenia:<strong>3</strong></a>
$liczba2 = $mech->content=~ /<strong>(.[0-9]*)<\/strong><\/a>/ <-- przypisuje zmiennej true (czyli 1) ponieważ wyrażenie zawierało szukany wzorzec
print $liczba2 <-- wypisuje wartość zmiennej (czyli 1)

razem : 31 (w dużym uproszczeniu możnaby napisać że tu 3 to był string a 1 to boolean)

0

Skoro uważacie, że do tego wątku juz nikt nie zajrzy, to może lepiej go skasować - po co ma zajmować zasoby serwera ?

P.S. Ja znalazłem na tym forum zadawalającą odpowiedź, która była zawarta w wątku z 2008r (czyli sprzed 5 lat).

4

(podpięte pod wątek)

  • Ale w tamtym wątku była odpowiedź, w tym zaś nie; Odświeżanie starych wątków nie ma sensu, bo pytacz po dwóch miesiącach już nie potrzebuje odpowiedzi (i pewnie już nigdy tutaj nie zajrzy), a tym bardziej po kilku latach; - Furious Programming 2013-09-12 13:17

@Furious Programming -> Sam pytacz może już odpowiedzi nie potrzebuje, ale być może znajdą się inne osoby które poszukują w sieci odpowiedzi na takie pytanie, bo na tematy z tego forum można się dostać również bezpośrednio przez wyszukiwarki (pomijając stronę forum na 4programmers.net). I to także po dłuższym czasie (kilka lat) od opublikowania danego tematu. Dlatego wydaje mi się, że jeżeli forum działa jedynie według formuły "dziś pytanie - (tylko) dziś odpowiedź", to stare wątki, które nie zawierają odpowiedzi na postawiony problem powinny być kasowane albo zamykane żeby nie mylić osób poszukujących w necie informacji na dany temat.

P.S. Ponieważ, jak widzę, trochę zbaczamy od zadanego w temacie pytania, proszę administratora forum o zamknięcie tematu (ewentualnie o przeniesienie wypowiedzi do działu "funkcjonowanie forum").

0

Zgodnie z sugestią @iggy'ego przenoszę do działu Coyote. Moim zdaniem warto rozważyć możliwość automatycznego usuwania wątków zawierających tylko jeden post (pytanie).

5
iggy napisał(a):

Sam pytacz może już odpowiedzi nie potrzebuje, ale być może znajdą się inne osoby które poszukują w sieci odpowiedzi na takie pytanie, bo na tematy z tego forum można się dostać również bezpośrednio przez wyszukiwarki (pomijając stronę forum na 4programmers.net). I to także po dłuższym czasie (kilka lat) od opublikowania danego tematu.
Zgadzam się. Jeśli odpowiedź na temat to ja jestem za tym, by ją umieścić/zostawić. Być może autor pytania dawno osiągnął już poziom Zen w danej materii, ale Iksiński może dopiero zaczyna przygodę z językiem, trafi na podobny problem, wpisze w google pytanie, wyląduje na naszej stronie i... świetnie gdyby znalazł na niej odpowiedź.

Wiedza się nie starzeje.

Nie rozumiem dlaczego @Rev i @Furious Programming mieliby mieć coś przeciwko powiększaniu bazy wiedzy w serwisie.

Zaznaczam, cały czas piszę o odpowiedzi na temat, a nie "tez mam ten problem!" po 5 latach. Takie posty zwyczajnie należy kasować.

Sam nieraz trafiam na jakieś forum, gdzie widzę tylko pytanie (sprzed kilku lat) i.. brak odpowiedzi, często nawet komunikat "wątek zablokowany z powodu przedawnienia problemu" (czy coś w ten deseń), ale dla mnie (szukającego) problem nie jest przedawniony, jest bieżący i takie blokowanie/usuwanie być może nie pozwoliło komuś z wiedzą napisania odpowiedzi a ja muszę szukać dalej.

Co więcej, oznaczyłem odpowiedź iggiego jako "zaakceptowaną", bo rozwiązał problem (i ja się przy okazji czegoś właśnie nauczyłem).

1

@Marooned - ja nie mam oczywiście nic przeciwko powiększaniu bazy wiedzy, ale żeby to było robione z głową; Odświeżanie starych kotletów nie ma większego sensu, bo nie dość, że przecież każdy może założyć nowy wątek, jeśli w znalezionych sensownych odpowiedzi nie ma, a poza tym komputery tak jak i oprogramowanie (w tym środowiska, kompilatory, moduły i bilbioteki) szybko ewoluują, przez co temat sprzed roku jest już praktycznie nieaktualny;

Kiedyś miałem taki mały problem, bo pisząc algorytm wykorzystujący listy klasy TStringList potrzebowałem rozdzielić zawartość listy według własnego znaku separatora; I pomimo tego, że właściwość DelimitedText zwracała łańcuch podzielony względem podanego separatora, brała również pod uwagę białe znaki, co całkowicie komplikowało sprawę; Szukam więc w necie opcji jak to naprawić, by DelimitedText nie brał pod uwagę białych znaków i natrafiałem z regóły na własne implementacje takich algorytmów, bo nie ma możliwości czegoś w obiekcie przestawić; Więc napisałem swoją wersję, a tu całkiem przez przypadek natrafiłem na wątek, w którym ktoś ogarnięty napisał, że od Delphi 2006 lista klasy TStringList posiada dodatkową właściwość StrictDelimiter, którą trzeba ustawić na False by spacje nie były brane pod uwagę; Potem się okazało, że większość wątków, które przeglądałem opisują stare i już od dawna nieaktualne wersje RTL (w tym z Delphi7);

Do czego zmierzam - kilkuletnie problemy już dawno zostały rozwiązane przez nowe wersje oprogramowania czy modułów, więc ciągnięcie tych wątków nie ma sensu - lepiej po prostu zaktualizować soft lub szukać informacji w źródłach opisujących aktualne wersje;

Jakiś czas temu podobna sytuacja miała miejsce z pakietem INDY, z którą pytacz (rok - dwa wcześniej) użerał się bo był gdzieś bug; Odpowiedzi rozwiązującej problem nie uzyskał, a ktoś dopisał się do wątku (odświeżył go o rok - dwa); Okazało się, że aktualna wersja pakietu ten bug ma już dawno naprawiony, więc wystarczyło po prostu skorzystać z aktualnej; I po co było odświeżać? Nie rozumiem tego... A niniejszy wątek został założony prawie dwa lata temu;

Nie mam nic przeciwko aby ktoś z Google czy innej wyszukiwarki znajdował odpowiedzi w starych wątkach, jeśli mu to wystarcza; Jednak jeśli dozwolone będzie odświeżanie starych wątków to po co w ogóle zakładać nowe, skoro równie dobrze można się dopisać do starych z tej samej tematyki/tym samym problemem? Dlatego też mam takie a nie inne zdanie;

Dodatkowo - dlaczego istnieje możliwość usunięcia przez moderatora/administratora wątku z powodem "Odświeżenie starego wątku" - od kiedy pamiętam jest taka możliwość; Przecież nikt tej pozycji nie dodał tam ot tak - było już dawno temu zasądzone, że starych wątków się nie odświeża.

3

iggy podał odpowiedź - po dłuuuugim czasie istnienia wątku, ale podał - całkowicie w temacie - może się komuś przyda. Skoro nie usuwamy tu wątków i nie trzeba się bać, że zeżre to zasoby serwera to chyba nie ma problemu - wystarczyłby krótki komentarz moda i ew. zamknięcie tematu. Co to komu szkodzi, że w kilkuletnim wątku pokaże się prawidłowa odpowiedź? Nie przesadzajcie, trzeba było zamknąć temat, założyć wątek o "zamykaniu tematów" jeśli jest jakiś pomysł/problem w coyote a nie przenosić tu tego wątku :/

3

Nie widze problemu, odpowiedz byla rzeczowa wiec jest OK. Przenosze z powrotem tam gdzie byla czyli do Newbie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0