Új hozzászólás Aktív témák
-
shinodas
tag
Sziasztok!
Kubuntu 12.04 szeretnék Perl Tk-ban ismerkedni, aztán van egy egyszerű teszt programom, és ugye a következő hibát kapom:
couldn't connect to display ":0" at /usr/lib/perl5/Tk/MainWindow.pm line 55.
Tk::MainWindow->new() at tk_proba.pl line 5.Nem találtam megoldást rá, ami működött volna.
-
Cyno
tag
Sziasztok!
Tudnátok segíteni, hogy az alábbi 2 sort megegye a scriptem?
Az első még ok, de nem tudok rájönni, hogy a második sort, hogy fogadtassam el vele. Már próbáltam a vagyot, minden karaktert, de semmi.
Az elegáns megoldás az lenne, hogy a /FM2-el is menjen, de akkor se akadjon ki, ha a /FM2 hiányzik.#0546NNN124:CH/FT0/FM2 RS ok
#0546NNN124:CH/FT2 RS ok
if ( m!^(0546NNN124:CH/FT\d+/FM\d+) \s+ RS \s+ (\S+) \s*$!ix )[ Szerkesztve ]
-
Mijo
tag
Szia!
Javaslom a non capturing groupot: (?:pattern)
Üdv: Mijo
#!/usr/bin/perl
use strict;
use warnings;
my @tests = (
'#0546NNN124:CH/FT0/FM2 RS ok',
'#0546NNN124:CH/FT2 RS ok',
);
for my $test ( @tests ) {
if ( $test =~ m!^
(\#0546NNN124:CH/FT\d+
(?:/FM\d+)?
)
\s+
RS
\s+
(\S+)
\s*
$!ix
) {
print "Match: code=[".$1."] status=[".$2."]\n";
} else {
print "No match: [". $test ."]\n";
}
}./test.pl
Match: code=[0546NNN124:CH/FT0/FM2] status=[ok]
Match: code=[0546NNN124:CH/FT2] status=[ok]''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
Honkydoo
őstag
Üdv,
Adott ez a bug.
Ki akarom javítani, csak azt nem értem, hogy hogy kell..
A ~1470 körül ki kell kommentezni a szöveget, azt értem.
CPAN:: FirstTime-ba kell beilleszteni egy sort, az oké, de a "<missing prompt> $item"; nem tudom, hogy milyen promptokat takar..Valakinek van ötlete?
[ Szerkesztve ]
"Légy olyan, mint bárki más, tégy olyat, mint senki más."
-
Mijo
tag
Szia!
Ez a bug 2-3 éves. Nem lett kijavítva valami frissebb verzióban?
Van arra lehetőség, hogy CPAN-ról letöltöd a tar.gz-t, és kézzel cseréled ki, aztán ráfrissítesz a Perl modulokra, hogy minden up to date legyen?Egyébként keress ezekre a sorokra:
sub my_dflt_prompt
sub my_yn_prompt
sub my_prompt_loopLesz ezekben a függvényekben "prompt" függvényhívás, azok elé kell várhatóan betenni ezt:
$prompts{$item} = "<missing prompt> $item";
Persze ha egy rendes diff-et tett volna be, sokkal egyszerűbb lenne...
Üdv: Mijo[ Szerkesztve ]
''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
Honkydoo
őstag
Köszönöm a választ!
Újratelepítettem a perlt, most másra panaszkodik:
Can't locate Term/ReadLine.pm in @INC (@INC contains: /usr/lib/perl5/5.10 /root) at /usr/lib/perl5/5.10/CPAN.pm line 162.A rendszer amúgy openwrt, fordítani egyelőre nem igazán tudok rajta... Pedig virtuális gépen fut.
"Légy olyan, mint bárki más, tégy olyat, mint senki más."
-
Mijo
tag
Hiányolja a modult a két felsorolt útvonalból (@INC tartalma).
Nézzük meg, van-e ilyen fájl egyáltalán a rendszeren!
find / -name 'ReadLine.pm' 2>/dev/nullHogyan telepítetted a Perlt?
Elvileg ilyen hibának nem lenne szabad megjelenni a CPAN modul használatakor, mert vagy az alap Perlhez adott modulokat használja, vagy van fall back módszere.Mi a végső cél, amihez a Perl kell?
Ennyire nem bonyolult a Perl telepítése, lásd Perlbrew.
Ha csak frissebb Perlt szeretnél, próbáld meg ezzel, bár egy routeren lehet nem lesz elég hely hozzá, de lehet van külső tárhelyed. Így a rendszer Perl érintetlen maradhat.Üdv: Mijo
''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
jeszi
tag
Sziasztok!
Hogy lehetne átírni a lenti kódot úgy, hogy ha die ágra fut, akkor még 2x próbálja meg létrehozni a kapcsolatot.
Néha előfordul, hogy ez az üzenet keletkezik:
Failed to establish a socket connection with host 111.111.111.111 on port 2222my ($acknowledge, $error_number, $error_text);
$emi = Net::UCP->new(SMSC_HOST => '111.111.111.111',
SMSC_PORT => 2222,
SENDER_TEXT => '+36111111111',
WARN => 1,
FAKE => 0
) or die("Failed to create SMSC object");
$emi->open_link() or die($!);Nem félek a haláltól, majdcsak túlélem valahogy!
-
Mijo
tag
Szia!
A suttyó megoldást alább láthatod:my ($acknowledge, $error_number, $error_text);
my %net_ucp_config = (
SMSC_HOST => '111.111.111.111',
SMSC_PORT => 2222,
SENDER_TEXT => '+36111111111',
WARN => 1,
FAKE => 0
);
$emi = Net::UCP->new( %net_ucp_config )
|| Net::UCP->new( %net_ucp_config )
|| Net::UCP->new( %net_ucp_config )
|| die( "Failed to create SMSC object ".$! );
$emi->open_link() || die($!);Ha általánosan kell ez az ismétlés, lehet valami ilyennel próbálkozni:
sub retry_net_ucp {
my $obj = shift;
my $method = shift;
$obj->$method( @_ )
|| $obj->$method( @_ )
|| $obj->$method( @_ )
|| die "Error during $method on $object :".$!;
}Üdv: Mijo
''Mit csinálnak a Windows gépek klaszterben? Hát egymás reset gombjait nyomkodják mikor másik elszáll...'' by Xebi@sg.hu
-
fpeter84
senior tag
Sziasztok!
Ugyan kissé inaktív a topik, de azért hátha előkerül valaki aki tud segíteni, hogy miért nem működik a következő kód minden https lekérésnél:
#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(strftime);
use LWP::UserAgent;
use open qw(:std :utf8);
my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 } );
$ua->agent('Mozilla/5.0');
my $crypt = $ua->get("https://min-api.cryptocompare.com/data/generateAvg?fsym=ETH&tsym=USD&markets=Poloniex");
print "\n>>> ".$crypt->decoded_content." <<<\n";
my $pool = $ua->get("https://ethermine.org/api/miner_new/33babc6cd1a6c0aee80622cc742f3e2d24463397");
print "\n>>> ".$pool->decoded_content." <<<\n";Az első címet sikeresen lekérdezi és kiírja a tartalmát, a másodikra viszont ezt dobja:
Can't connect to ethermine.org:443
LWP::Protocol::https::Socket: SSL connect attempt failed with unknown errorerror:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error at C:/Strawberry/perl/site/lib/LWP/Protocol/http.pm line 51.Tudnátok segíteni hogy hogyan kellene kapcsolódnom ahhoz hogy a másodikat is le tudjam kérdezni? Böngészőből megnyitva természetesen él az oldal...
-
moseras
tag
Üdv!
Nekem működik mindkettő. Így is, ahogy beidézted, és úgy is, ha megfordítom a két lekérést.
Környezet:
This is perl 5, version 20, subversion 2 (v5.20.2) built for MSWin32-x86-multi-thread-64int
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2015, Larry Wall
Binary build 2002 [299195] provided by ActiveState http://www.ActiveState.com
Built Jul 20 2015 13:29:53Imi.
-
moseras
tag
Hello,
"$count = () = $string =~ /-\d+/g;"
Ha jól tudom, akkor a "=~" operátor figyeli, hogy mibe rakod az eredményt, ami lehet skalár vagy lista.
Ezzel a trükkel, amit írtál, rákényszeríted a "=~" operátort, hogy lista kontexusban adja vissza az eredményt. Ami azt jelenti, hogy visszad egy tömböt, benne a 0 vagy több egyező résszel. Aztán utána ebből egy mostmár skalár kényszerítéssel kinyered a darabszámot, mert ugye ha tömböt direktbe skalárba teszel, akkor visszakapod a tömb elemeinek a számát.Vigyázz, így nem jó:
$count = ($string =~ /-\d+/g);
Imi.
-
moseras
tag
Hello,
my $string = "-1 -2 -3 -ötszáz -1000";
my @hits = ();
my $count = @hits = $string =~ /-\d+/g;
say "count: $count";
if ($count > 0) {
for (my $i = 0; $i < $count; $i++) {
print "hits[$i]: $hits[$i]";
print ', ' if $i != $#hits;
}
}Eredmény:
count: 4
hits[0]: -1, hits[1]: -2, hits[2]: -3, hits[3]: -1000Imi.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Politika
- Vodafone mobilszolgáltatások
- Háztartási gépek
- Vicces képek
- Spórolós topik
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Szűkös készlettel indít az iPad Pro OLED?
- Fejhallgató erősítő és DAC topik
- Luck Dragon: Asszociációs játék. :)
- Vezeték nélküli fülhallgatók
- További aktív témák...
- KERESEK! Samsung Galaxy S23 Ultra
- HP Z820 HDD CADDY 2.5 TO 3.5 KERET ADAPTERTRL
- Ps4 Pro 1TB 7216B Konzol 1db Gyári Kontroller.
- Xbox One X 1TB Konzol Gyári Kontroller Nagyon szép állapot. Ajándék játékokkal.
- Új 2Drive Elektromos hoverboard, 6.5" kerekek, 15 km hatótávolság, 10 km/h sebesség, 500W (2 x 250),